Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » EclipseLink » java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted duplicate
java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted duplicate [message #762520] Thu, 08 December 2011 08:40 Go to next message
Tom Eugelink is currently offline Tom EugelinkFriend
Messages: 817
Registered: July 2009
Senior Member
I'm in the process of migrating to Java 7. In this process I came across the problem that in Eclipselink 2.0.2 the included ASM has a problem on Java7. So I decided to upgrade to Eclipselink 2.3.0.

After replacing just that eclipselink jar, my project stopped working:

java.vm.version=21.0-b17
java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted duplicate class definition for name: "nl/reinders/bm/Article2Articlecat"
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at nl.reinders.bm.generated.Article.<clinit>(Article.java:117)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at nl.reinders.bm.BM.<clinit>(BM.java:73)
at nl.reinders.Reinders.setupStatic(Reinders.java:310)
at nl.reinders.Reinders.startJpaScreenSwing(Reinders.java:3944)
at nl.reinders.Reinders.access$9(Reinders.java:3914)
at nl.reinders.Reinders$28.run(Reinders.java:3906)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:241)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Googling the error does not give much results. Any suggestions what is different here? I'm rolling back to Eclipselink 2.0.2 and Java 6 for now.

Tom
Re: java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted dupli [message #762525 is a reply to message #762520] Thu, 08 December 2011 08:45 Go to previous messageGo to next message
Tom Eugelink is currently offline Tom EugelinkFriend
Messages: 817
Registered: July 2009
Senior Member
Just in case anyone thinks this has to do with the custom code in nl.reinders.bm.BM, if I comment that out, here is the same error (different entity class) a bit further down if Eclipselink creates an EntityManager:

....
[EL Config]: 2011-12-08 09:38:37.066--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--The primary key column name for the mapping element [field iStandversion] is being defaulted to: standversionnr.
[EL Config]: 2011-12-08 09:38:37.066--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--The primary key column name for the mapping element [field iLicensePaymentType] is being defaulted to: license_payment_typenr.
[EL Config]: 2011-12-08 09:38:37.066--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--The primary key column name for the mapping element [field iArticle] is being defaulted to: articlenr.
[EL Config]: 2011-12-08 09:38:37.066--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--The primary key column name for the mapping element [field iArticle] is being defaulted to: articlenr.
[EL Finer]: 2011-12-08 09:38:37.097--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Sellorder2Cat] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.097--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RelationgroupArticle] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.TaskArticleStatus] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Addresstype] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.VSellmoney] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Productionorder] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Task] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Cleaneduntil] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Weblightbox] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.TaskArticle] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.VStandversion] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Websort] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RelationgroupArticletype] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.LicensePaymentPrinted] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Article2Articlecat] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Sellexpect] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Batchcount] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Batchbuyorderline] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Relationtel] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Batchtransferline] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.113--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.StockcountMutation] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Sellorderline] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Relationframe] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Relationgroupean] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.VSellmoneycalc] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.StorageDomain] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.TBatch] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Batchtype] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Relationcat] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.VStandcurrent] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.LicenseGroupToArticletype] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RelationPricerule] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Contractpayment] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Batchtransfer] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.WsAffiliatePricerule] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.OvsInternational] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.WsReferer] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.VaStockinfo] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Employee] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.WsOrder] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Storage] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Contact] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.LicensePaymentengineDefault] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Calendar] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.License2Country] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.WsAffiliate] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.StockcountListitem] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Edifactorders] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Locks] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Addr2Addrtype] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Eanrange] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.ProductionorderLine] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Relationgroupstand] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Rollentodo] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Reservation] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.ArticletypeGroup] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Buyorder] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Employee2Group] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Stocksnapshot] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Articlekeyword] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Pdaorder] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Relstandsale] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RelationInventoryitem] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Catalog] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.License2Countrygroup] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Countrygroup] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.License] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Stand] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Translation] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.SleevesType] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.128--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RelationInventory] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.144--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.TSellmoneycalc] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.144--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Relstandstock] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.144--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.VStandassignlastcurfut] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.144--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.StandArea] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.144--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.LicensePaymentDetail] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.144--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.VaStockinfoDomain] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.144--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.ArticlekeywordTranslation] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.144--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Sellordercat] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Deliveryline] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RelationstandCat] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Producttype] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.VStandcurfut] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Timeframe] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.StandMaterial] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Contacttel] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.LicenseGroup] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Taskpriority] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.WsOrderitem] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Delivery2Buyorder] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.LicensePayment] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Taskstatus] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Articlealias] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Relationgroup] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Sellorderrange] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.SellorderlineRetour] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.StocksnapshotEntry] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Relationstand] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RetourLine] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Batchcredit] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Docuware] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Catalogentry] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RelationstandType] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Batch] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RelationSegment] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Standassign] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RelationArticletypeAverage] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Catsubscription] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Articlecat] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Webimagedownload] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.StandType] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Countrycodetable] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RelationArticletype] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Sellorder] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Permissionnode] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.ArticleUsesArticle] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Weborders] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Webdisclaimer] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.BuyorderBillline] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.StockcountList] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Batchcode] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Retour] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RelationstandToCat] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.TSellstandrefill] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Translation2] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.175--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Pdaorderline] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.ProductionorderInputline] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.VArticle] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.BuyorderBill] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Contractpaymentline] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Relationversion] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RelationStandException] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Contract] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RelationframeComposition] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Standversion] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Article2Storage] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Articletype] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Rollentodoline] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.ProductionorderOutputline] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.VRelationContactinfo] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.LicensePaymentengineNone] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.VStandfuture] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RelationProductionorderActivity] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Language] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Producttype2Contract] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Btwcategory] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Edifactordersitems] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Rel2Relcat] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.VRollenlist] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Buyorderline] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.TSellstandinifill] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Task2Articlekeyword] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Relationalias] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.LicensePaymentengine] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Countrycode2Countrygroup] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RelationInventoryorder] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.ArticlePricegroup] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Relation] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.LicenseGroupArticle] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Webmessage] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Rollendone] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Taskproject] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Batchsellorderline] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Article] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Stockcount] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Rollendoneline] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Article2Articlekeyword] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RelationArticle] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Taskfollowup] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.LicensePaymentType] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Currency] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Address] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Grouppermissions] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.RelationstandToFrame] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Sellexpectline] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Delivery] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Group] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.ProductionorderActivity] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.WsOrderCoupon] registered to be processed by weaver.
[EL Finer]: 2011-12-08 09:38:37.191--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Class [nl.reinders.bm.Webordersitems] registered to be processed by weaver.
[EL Finest]: 2011-12-08 09:38:37.206--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--End predeploying Persistence Unit reinders; session reinders_url=jdbc:reinders:com.informix.jdbc.IfxDriver#jdbc:informix-sqli://localhost:9088/reinders:INFORMIXSERVER=ol_informix;DB_LOCALE=en_us.utf8_user=user; state Predeployed; factoryCount 0
[EL Finer]: 2011-12-08 09:38:37.206--Thread(Thread[AWT-EventQueue-0,6,main])--JavaSECMPInitializer - global instrumentation is null.
[EL Finest]: 2011-12-08 09:38:37.206--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Begin predeploying Persistence Unit reinders; session reinders_url=jdbc:reinders:com.informix.jdbc.IfxDriver#jdbc:informix-sqli://localhost:9088/reinders:INFORMIXSERVER=ol_informix;DB_LOCALE=en_us.utf8_user=user; state Predeployed; factoryCount 0
[EL Finest]: 2011-12-08 09:38:37.206--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--End predeploying Persistence Unit reinders; session reinders_url=jdbc:reinders:com.informix.jdbc.IfxDriver#jdbc:informix-sqli://localhost:9088/reinders:INFORMIXSERVER=ol_informix;DB_LOCALE=en_us.utf8_user=user; state Predeployed; factoryCount 1
[EL Finest]: 2011-12-08 09:38:37.206--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--Begin deploying Persistence Unit reinders; session reinders_url=jdbc:reinders:com.informix.jdbc.IfxDriver#jdbc:informix-sqli://localhost:9088/reinders:INFORMIXSERVER=ol_informix;DB_LOCALE=en_us.utf8_user=user; state Predeployed; factoryCount 1
[EL Finest]: 2011-12-08 09:38:37.643--ServerSession(31430841)--Thread(Thread[AWT-EventQueue-0,6,main])--End deploying Persistence Unit reinders; session reinders_url=jdbc:reinders:com.informix.jdbc.IfxDriver#jdbc:informix-sqli://localhost:9088/reinders:INFORMIXSERVER=ol_informix;DB_LOCALE=en_us.utf8_user=user; state Predeployed; factoryCount 1
java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted duplicate class definition for name: "nl/reinders/bm/WsOrder"
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at nl.reinders.bm.generated.Sellorder.<clinit>(Sellorder.java:997)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.eclipse.persistence.internal.security.PrivilegedAccessHelper.getClassForName(PrivilegedAccessHelper.java:119)
at org.eclipse.persistence.mappings.ForeignReferenceMapping.convertClassNamesToClasses(ForeignReferenceMapping.java:364)
at org.eclipse.persistence.mappings.CollectionMapping.convertClassNamesToClasses(CollectionMapping.java:852)
at org.eclipse.persistence.descriptors.ClassDescriptor.convertClassNamesToClasses(ClassDescriptor.java:1549)
at org.eclipse.persistence.sessions.Project.convertClassNamesToClasses(Project.java:395)
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:412)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getDatabaseSession(EntityManagerFactoryDelegate.java:188)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:277)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:290)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:268)
at nl.reinders.bm.BM.createEntityManagerFactory(BM.java:127)
at nl.reinders.Reinders.startJpaScreenSwing(Reinders.java:3949)
at nl.reinders.Reinders.access$9(Reinders.java:3914)
at nl.reinders.Reinders$28.run(Reinders.java:3906)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:241)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Re: java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted dupli [message #762533 is a reply to message #762525] Thu, 08 December 2011 08:55 Go to previous messageGo to next message
Tom Eugelink is currently offline Tom EugelinkFriend
Messages: 817
Registered: July 2009
Senior Member
Reverting back to Java6 while keeping Eclipselink 2.3.0:

[EL Warning]: 2011-12-08 09:51:40.089--ServerSession(16916276)--Weaver encountered an exception while trying to weave class nl/reinders/bm/Article2Articlecat. The exception was: java.lang.ClassCircularityError: nl/reinders/bm/Article2Articlecat
[EL Warning]: 2011-12-08 09:51:40.495--ServerSession(16916276)--Weaver encountered an exception while trying to weave class nl/reinders/bm/Articlekeyword. The exception was: java.lang.ClassCircularityError: nl/reinders/bm/Articlekeyword
java.lang.NoClassDefFoundError: Could not initialize class nl.reinders.bm.Articlecat
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at nl.reinders.bm.BM.<clinit>(BM.java:73)
at nl.reinders.Reinders.setupStatic(Reinders.java:310)
at nl.reinders.Reinders.startJpaScreenSwing(Reinders.java:3944)
at nl.reinders.Reinders.access$9(Reinders.java:3914)
at nl.reinders.Reinders$28.run(Reinders.java:3906)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Re: java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted dupli [message #762688 is a reply to message #762533] Thu, 08 December 2011 14:09 Go to previous messageGo to next message
James Sutherland is currently offline James SutherlandFriend
Messages: 1939
Registered: July 2009
Location: Ottawa, Canada
Senior Member

This seems to be caused by

https://bugs.eclipse.org/bugs/show_bug.cgi?id=358287

If you disable weaving does it go away?

There should be something specific is the code in the class that requires the loading of the class from loading its interface of superclass.


James : Wiki : Book : Blog : Twitter
Re: java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted dupli [message #762689 is a reply to message #762688] Thu, 08 December 2011 14:09 Go to previous messageGo to next message
James Sutherland is currently offline James SutherlandFriend
Messages: 1939
Registered: July 2009
Location: Ottawa, Canada
Senior Member

Please add you info and vote for the bug.

James : Wiki : Book : Blog : Twitter
Re: java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted dupli [message #762691 is a reply to message #762533] Thu, 08 December 2011 14:09 Go to previous messageGo to next message
James is currently offline JamesFriend
Messages: 272
Registered: July 2009
Senior Member
This seems to be caused by

https://bugs.eclipse.org/bugs/show_bug.cgi?id=358287

If you disable weaving does it go away?

There should be something specific is the code in the class that requires the loading of the class from loading its interface of superclass.

--
James : http://wiki.eclipse.org/EclipseLink : http://en.wikibooks.org/wiki/Java_Persistence : http://java-persistence-performance.blogspot.com/
Re: java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted dupli [message #762731 is a reply to message #762688] Thu, 08 December 2011 15:00 Go to previous messageGo to next message
Tom Eugelink is currently offline Tom EugelinkFriend
Messages: 817
Registered: July 2009
Senior Member
On 2011-12-08 15:09, James wrote:
>
> If you disable weaving does it go away?

Not sure what you want me to do, if I do not weave, my BM will probably drown on not lazy loading.

But please note that this ClassCircularityError is not my actual problem, I only added it because it occurred with 2.3.0 on Java6 while reverting back. The problem is already known, and that is what I wanted to achieve with that last post.
My actual problem is the "duplicate class definition for name" when running 2.3.0 on Java7.

java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted duplicate class definition for name: "nl/reinders/bm/WsOrder"
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at nl.reinders.bm.generated.Sellorder.<clinit>(Sellorder.java:997)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.eclipse.persistence.internal.security.PrivilegedAccessHelper.getClassForName(PrivilegedAccessHelper.java:119)
at org.eclipse.persistence.mappings.ForeignReferenceMapping.convertClassNamesToClasses(ForeignReferenceMapping.java:364)
at org.eclipse.persistence.mappings.CollectionMapping.convertClassNamesToClasses(CollectionMapping.java:852)
at org.eclipse.persistence.descriptors.ClassDescriptor.convertClassNamesToClasses(ClassDescriptor.java:1549)
at org.eclipse.persistence.sessions.Project.convertClassNamesToClasses(Project.java:395)
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:412)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getDatabaseSession(EntityManagerFactoryDelegate.java:188)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:277)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:290)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:268)
at nl.reinders.bm.BM.createEntityManagerFactory(BM.java:127)
at nl.reinders.Reinders.startJpaScreenSwing(Reinders.java:3949)
at nl.reinders.Reinders.access$9(Reinders.java:3914)
at nl.reinders.Reinders$28.run(Reinders.java:3906)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:241)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Re: java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted dupli [message #764721 is a reply to message #762731] Mon, 12 December 2011 18:46 Go to previous messageGo to next message
James Sutherland is currently offline James SutherlandFriend
Messages: 1939
Registered: July 2009
Location: Ottawa, Canada
Senior Member

If you don't enable weaving, does the error still occur? I'm not saying this as a solution, just to help narrow down the problem.

So, you app does not work on Java6 or 7? Or, even though you get the class circularity error on 6, your app somehow works? Does you app work on any version of Java?

The class circularity error seems similar to the error you are getting, if it goes away with weaving disabled, then it is most likely due to something in ASM. I have found that you can avoid the class circularity error by adding casts into your code. Can you include the source code for the class causing the error.


James : Wiki : Book : Blog : Twitter
Re: java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted dupli [message #764741 is a reply to message #764721] Mon, 12 December 2011 19:16 Go to previous messageGo to next message
Tom Eugelink is currently offline Tom EugelinkFriend
Messages: 817
Registered: July 2009
Senior Member
On 2011-12-12 19:46, James wrote:
> If you don't enable weaving, does the error still occur? I'm not saying this as a solution, just to help narrow down the problem.

Will check, but to make sure: it's the "attempted duplicate class definition for name" that is bugging me, not class circularity. That is just a side step.


>
> So, you app does not work on Java6 or 7? Or, even though you get the class circularity error on 6, your app somehow works? Does you app work on any version of Java?

Java 6 + Eclipselink 2.0.2 -> works
Java 7 + Eclipselink 2.0.2 -> ASM problem (https://bugs.eclipse.org/bugs/show_bug.cgi?id=339388, reportedly fixed in eclipselink 2.3+)
Java 7 + Eclipselink 2.3.0 -> "attempted duplicate class definition for name"


> The class circularity error seems similar to the error you are getting, if it goes away with weaving disabled, then it is most likely due to something in ASM.

No, "attempted duplicate class definition for name"

Tom
Re: java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted dupli [message #768204 is a reply to message #764741] Mon, 19 December 2011 18:53 Go to previous messageGo to next message
James Sutherland is currently offline James SutherlandFriend
Messages: 1939
Registered: July 2009
Location: Ottawa, Canada
Senior Member

Is it just the WsOrder class? If you remove that class (and its references), do all of your other classes work?

btw "attempted duplicate class definition for name" and "class circularity" could be caused by the same error, just Java7 has different exception.

So,

Java6 + 2.0.2 was working (2.0.2 uses old ASM)
Java6 + 2.3 does not work (2.3 uses new ASM)

My guess is it is the same errors as,

https://bugs.eclipse.org/bugs/show_bug.cgi?id=358287

please vote for the bug. I was able to avoid that error by adding casts when assign to a variable of the class type. If you include the WSOrder source code, I can check it over.




James : Wiki : Book : Blog : Twitter
Re: java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted dupli [message #769093 is a reply to message #768204] Wed, 21 December 2011 11:34 Go to previous messageGo to next message
Tom Eugelink is currently offline Tom EugelinkFriend
Messages: 817
Registered: July 2009
Senior Member
On 19-12-2011 19:54, James wrote:
> Is it just the WsOrder class? If you remove that class (and its references), do all of your other classes work?

Ah. Oh my, it's not like I have a two entity business model (just counted: 192 entities) and they're all interweaved, so "remove that class" is major surgery.

So, to make matters more complex: the BM is a separate project under Eclipse. If I run a test class directly in the BM project, something like:

public static void main(String[] args)
{
// EntityManagerFactory
EntityManagerFactory lEntityManagerFactory = BM.createEntityManagerFactory(com.informix.jdbc.IfxDriver.class, "jdbc:informix-sqli://localhost:9088/reinders:INFORMIXSERVER=ol_informix;DB_LOCALE=en_us.utf8", "user", "user");

// entitymanager
EntityManager lEntityManager = BM.createEntityManager(lEntityManagerFactory);

// setup the application
nl.knowledgeplaza.util.jpa.EntityManagerFinderSingleton.register();
nl.knowledgeplaza.util.jpa.EntityManagerFinderSingleton.setEntityManager(lEntityManager);
AbstractBean.setGlobalDwhby(java.math.BigInteger.valueOf(1));

try
{
WsOrder.findAll();
Article lArticle1 = Article.findByPK(82);
}
catch (Throwable t)
{
t.printStackTrace(System.out);
System.out.println(">>> " + t.getMessage());
}

// close shop
lEntityManager.close();
lEntityManagerFactory.close();
}

Then this runs using 2.3.0 without a problem.

....
[EL Finest]: 2011-12-21 12:19:18.301--UnitOfWork(18405154)--Thread(Thread[main,5,main])--Execute query ReadObjectQuery(referenceClass=Employee sql="SELECT employeenr, lazylock, dwhmodified, dwhby, name FROM employee WHERE (employeenr = ?)")
[EL Fine]: 2011-12-21 12:19:18.301--ServerSession(31662978)--Connection(6559246)--Thread(Thread[main,5,main])--SELECT employeenr, lazylock, dwhmodified, dwhby, name FROM employee WHERE (employeenr = ?)
bind => [1]
2011-12-21 12:19:18,394 DEBUG nl.knowledgeplaza.util.jpa.EntityManagerExtender.invoke(EntityManagerExtender.java:298) #afccbe createQuery(select t from WsOrder t)
[EL Finest]: 2011-12-21 12:19:18.784--UnitOfWork(18405154)--Thread(Thread[main,5,main])--Execute query ReadAllQuery(referenceClass=WsOrder sql="SELECT order_id, shipment_id, send_country, bill_zipcode, payment_id, trackurl, lang, send_zipcode, paymentprice, shipmentname, status_id, trackcode, sellorder_billnr, sellordernr, internal_notes, sellorder_status, return_sellordernr, affiliate, shipmentprice, create_date, dwhmodified, client_name, send_city, extid, facture_date, bill_address, bill_country, return_facture_date, sellorder_return_billnr, bill_city, refer, sellorder_returndate, client_email, comments, send_name, deleted, sellorder_finisheddate, paymentname, send_address, present, modify_date, dwhby, client_id, order_date, currencycode FROM ws_order")
[EL Fine]: 2011-12-21 12:19:18.784--ServerSession(31662978)--Connection(6559246)--Thread(Thread[main,5,main])--SELECT order_id, shipment_id, send_country, bill_zipcode, payment_id, trackurl, lang, send_zipcode, paymentprice, shipmentname, status_id, trackcode, sellorder_billnr, sellordernr, internal_notes, sellorder_status, return_sellordernr, affiliate, shipmentprice, create_date, dwhmodified, client_name, send_city, extid, facture_date, bill_address, bill_country, return_facture_date, sellorder_return_billnr, bill_city, refer, sellorder_returndate, client_email, comments, send_name, deleted, sellorder_finisheddate, paymentname, send_address, present, modify_date, dwhby, client_id, order_date, currencycode FROM ws_order
2011-12-21 12:19:20,531 DEBUG nl.knowledgeplaza.util.jpa.EntityManagerExtender.invoke(EntityManagerExtender.java:298) #afccbe find(class nl.reinders.bm.Article, 82)
[EL Finest]: 2011-12-21 12:19:20.531--UnitOfWork(18405154)--Thread(Thread[main,5,main])--Execute query ReadObjectQuery(referenceClass=Article sql="SELECT articlenr, sale, opwebdate, weight, veer, sellingprice, seqnr, rolkop, webshopprice, keywords, width, artist, opweb, is_landscape, ean, f, c, info, dwhmodified, trashcan, last_supplier_relationnr, printcost_articletypenr, inserted, actueel, minimalstock_plano, articlecode, haslicenses, archive_location, managestock, std_reservation, articlepricegroupnr, tapper, fixed_transfer_price, rolinstellingenok, length, lazylock, opwebshop, is_ending, dwhby, description, minimalstock, articletypenr FROM article WHERE (articlenr = ?)")
[EL Fine]: 2011-12-21 12:19:20.531--ServerSession(31662978)--Connection(6559246)--Thread(Thread[main,5,main])--SELECT articlenr, sale, opwebdate, weight, veer, sellingprice, seqnr, rolkop, webshopprice, keywords, width, artist, opweb, is_landscape, ean, f, c, info, dwhmodified, trashcan, last_supplier_relationnr, printcost_articletypenr, inserted, actueel, minimalstock_plano, articlecode, haslicenses, archive_location, managestock, std_reservation, articlepricegroupnr, tapper, fixed_transfer_price, rolinstellingenok, length, lazylock, opwebshop, is_ending, dwhby, description, minimalstock, articletypenr FROM article WHERE (articlenr = ?)
bind => [82]
[EL Finest]: 2011-12-21 12:19:20.578--UnitOfWork(18405154)--Thread(Thread[main,5,main])--Execute query ReadObjectQuery(name="iLastSupplierRelation" referenceClass=Relation )
[EL Fine]: 2011-12-21 12:19:20.578--ServerSession(31662978)--Connection(6559246)--Thread(Thread[main,5,main])--SELECT relationnr, sellorder_state_20_allowed, isreinders, billprefix, delivery_addressnr, webshop_url, shortname, ritnr, relationid3, edifact_desadv_no_zero_amount, edifact_desadv_builder, tobepaidwithin, edifact_invoic_no_zero_amount, grootboeknr, edifact_desadv_builder_test, info, wholesale, dwhmodified, banknaam, use_pricerules, currencynr, incassobanknr, edifact_invoic_builder, incassodagen, btwnummer, name, rabatt, lazylock, relationnr2, allow_backorders, potential_customer, reinders_lieferantenkode, btwnr, report_countrycodenr, uses_pricegroups, external_sellorder_mandatory, incassoreknr, delivery_relationnr, reinders_relationnr, officeid, officegroupid, haspriceagreement, bill_info, retour, relationsegmentnr, payment_agreement, internalnr, agreement_info, belastingnr, allow_buyorder, edifact_invoic_no_credits, skonto, bez, allow_sellorder, external_sellorder
_pattern,
ritnr2, istransport, skontodagen, externalnr, dwhby, edifact_invoic_builder_test, relationgroupnr FROM relation WHERE (relationnr = ?)
bind => [50081]
[EL Finest]: 2011-12-21 12:19:20.578--UnitOfWork(18405154)--Thread(Thread[main,5,main])--Register the existing object nl.reinders.bm.Relation@1cc15a&Relationnr=50081
[EL Finest]: 2011-12-21 12:19:20.578--UnitOfWork(18405154)--Thread(Thread[main,5,main])--Execute query ReadObjectQuery(name="iArticletype" referenceClass=Articletype )
[EL Fine]: 2011-12-21 12:19:20.578--ServerSession(31662978)--Connection(6559246)--Thread(Thread[main,5,main])--SELECT articletypenr, lazylock, grootboeknr, sizedescription, seqnr, dwhmodified, articletypegroupnr, dwhby, op_web, pricerulecode, description, template_article_xml, grootboeknr_offset, code FROM articletype WHERE (articletypenr = ?)
bind => [3]
[EL Finest]: 2011-12-21 12:19:20.593--UnitOfWork(18405154)--Thread(Thread[main,5,main])--Register the existing object nl.reinders.bm.Articletype@7b79&Articletypenr=3&pricecode=maxi
....


> btw "attempted duplicate class definition for name" and "class circularity" could be caused by the same error, just Java7 has different exception.

But if I then attempt to start the Swing application on top of that BM (being it in Eclipse or in the fully compiled distributable form) using 2.3.0 I get the class circularity error.

java.vm.version=14.3-b01
[EL Warning]: 2011-12-21 12:26:34.733--ServerSession(176713)--Weaver encountered an exception while trying to weave class nl/reinders/bm/Article2Articlecat. The exception was: java.lang.ClassCircularityError: nl/reinders/bm/Article2Articlecat
[EL Warning]: 2011-12-21 12:26:34.983--ServerSession(176713)--Weaver encountered an exception while trying to weave class nl/reinders/bm/Articlekeyword. The exception was: java.lang.ClassCircularityError: nl/reinders/bm/Articlekeyword
java.lang.NoClassDefFoundError: Could not initialize class nl.reinders.bm.Articlecat
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at nl.reinders.bm.BM.<clinit>(BM.java:73)
at nl.reinders.Reinders.setupStatic(Reinders.java:310)
at nl.reinders.Reinders.startJpaScreenSwing(Reinders.java:3944)
at nl.reinders.Reinders.access$9(Reinders.java:3914)
at nl.reinders.Reinders$28.run(Reinders.java:3906)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


>
> please vote for the bug. I was able to avoid that error by adding casts when assign to a variable of the class type. If you include the WSOrder source code, I can check it over.
>

Voted.

My entities have a layered model, so I'm picking the simpler entity Article2Articlecat

/*
* This class is autogenerated if it does not exists. It may be modified.
* Copyright: (c) Reinders Posters
* Modified: $Date: 2009/02/25 15:32:49 $
*/

package nl.reinders.bm;

import javax.persistence.Entity;
import javax.persistence.Table;

/**
* A JPA entity class for article2articlecat.
* @version $Revision: 1.8 $
* @author $Author: toeukpap $
*
* Notes:

// make sure the category is persisted before Article2Articlecat (if it needs to be)
if (getCategory() != null && getCategory().getCategorynr() == null) EntityManagerFinder.find().persist( getCategory() );

*/
@Entity
@Table(name="article2articlecat")
public class Article2Articlecat extends nl.reinders.bm.generated.Article2Articlecat
implements java.io.Serializable
{
static final long serialVersionUID = 0;
static final String SOURCECODE_VERSION = "$Revision: 1.8 $";
static org.apache.log4j.Logger log4j = org.apache.log4j.Logger.getLogger(Article2Articlecat.class.getName());

public Article2Articlecat()
{
super();
}

public Article2Articlecat(Article Article, Articlecat Articlecat)
{
super();

try
{
setArticle(Article);
setCategory(Articlecat);
}
catch (RuntimeException t)
{
setArticle(null);
setCategory(null);
throw t;
}
}

/**
* Check for duplicates
*/
public void setCategory(Articlecat value)
{
// check for code duplicates
if (value != null && getArticle() != null)
{
for (Article2Articlecat lOtherArticle2Articlecat : getArticle().getArticle2ArticlecatsWhereIAmArticle())
{
if ( !lOtherArticle2Articlecat.equals(this) && value.equals(lOtherArticle2Articlecat.getCategory()) )
{
throw new IllegalArgumentException("Categorie '" + value.getDescription() + "' komt reeds voor bij artikel " + getArticle().getArticlenr());
}
}
}

// accept value
super.setCategory(value);
}

/**
*
*/
public String toString()
{
StringBuffer lStringBuffer = new StringBuffer();
lStringBuffer.append(super.toString());
lStringBuffer.append(", Articlenr="); lStringBuffer.append( getArticle() == null ? getArticle() : getArticle().getArticlenr() );
lStringBuffer.append(", Categorynr="); lStringBuffer.append( getCategory() == null ? getCategory() : getCategory().getCategorynr() );
return lStringBuffer.toString();
}
}


**************************************************************************************************************************************************************************

/*
* This is autogenerated and should not be modified.
* Any changes should be made to the super class.
* Copyright: (c) Reinders Posters
*/

package nl.reinders.bm.generated;

import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.beans.VetoableChangeListener;
import java.beans.VetoableChangeSupport;

import javax.persistence.*;
import org.eclipse.persistence.annotations.*;

/**
* A JPA entity class for article2articlecat.
*/
@MappedSuperclass
abstract public class Article2Articlecat extends nl.reinders.bm.AbstractBean<nl.reinders.bm.Article2Articlecat>
implements java.io.Serializable
, java.lang.Cloneable
, Comparable<nl.reinders.bm.Article2Articlecat>
{
static protected org.apache.log4j.Logger log4j = org.apache.log4j.Logger.getLogger(Article2Articlecat.class.getName());
final static public String CLASS_TABLENAME = "article2articlecat";

// ===============================================================================================
// RELATIONS OneToMany


// ===============================================================================================
// RELATIONS ManyToOne

/** Article */
public nl.reinders.bm.Article getArticle() { return iArticle; }
public void setArticle(nl.reinders.bm.Article value)
{
if (isReadonly() == true) return;
if (value == iArticle) return; // optimalisation and prevent looping
nl.reinders.bm.Article lValue = iArticle; // remember old value for PCE
if (!nl.knowledgeplaza.util.ObjectUtil.equals(lValue, value)) failIfNoPermission(nl.reinders.bm.Article2Articlecat.class, ARTICLE_PROPERTY_ID);
if (log4j.isDebugEnabled()) log4j.debug("setArticle: " + lValue + " -> " + value);
fireVetoableChange(ARTICLE_PROPERTY_ID, lValue, value);
if (lValue != null) lValue.removeArticle2ArticlecatsWhereIAmArticle( (nl.reinders.bm.Article2Articlecat)this );
iArticle = value;
try {
if (value != null) value.addArticle2ArticlecatsWhereIAmArticle( (nl.reinders.bm.Article2Articlecat)this );
} catch (RuntimeException e) { iArticle = lValue; throw e; } // restore upon exception
if (!nl.knowledgeplaza.util.ObjectUtil.equals(lValue, value)) markAsDirty(true);
firePropertyChange(ARTICLE_PROPERTY_ID, lValue, value);
}
public nl.reinders.bm.Article2Articlecat withArticle(nl.reinders.bm.Article value) { setArticle(value); return (nl.reinders.bm.Article2Articlecat)this; }
@ManyToOne(fetch = FetchType.LAZY, targetEntity = nl.reinders.bm.Article.class, cascade = {CascadeType.REFRESH} ) @JoinColumn(name="articlenr")
volatile protected nl.reinders.bm.Article iArticle;
final static public String ARTICLE_COLUMN_NAME = "articlenr"; // for when building SQL or starting reporting tools
final static public String ARTICLE_FIELD_ID = "iArticle";
final static public String ARTICLE_PROPERTY_ID = "article";
final static public Class<nl.reinders.bm.Article> ARTICLE_PROPERTY_CLASS = nl.reinders.bm.Article.class;
final static public boolean ARTICLE_PROPERTY_NULLABLE = false;
// to make IN queries possible
@Column(name="articlenr", insertable=false, updatable=false)
volatile protected java.math.BigDecimal iArticlenr = null;
final static public String ARTICLENR_COLUMN_NAME = "articlenr"; // for when building SQL or starting reporting tools

/** Category */
public nl.reinders.bm.Articlecat getCategory() { return iCategory; }
public void setCategory(nl.reinders.bm.Articlecat value)
{
if (isReadonly() == true) return;
if (value == iCategory) return; // optimalisation and prevent looping
nl.reinders.bm.Articlecat lValue = iCategory; // remember old value for PCE
if (!nl.knowledgeplaza.util.ObjectUtil.equals(lValue, value)) failIfNoPermission(nl.reinders.bm.Article2Articlecat.class, CATEGORY_PROPERTY_ID);
if (log4j.isDebugEnabled()) log4j.debug("setCategory: " + lValue + " -> " + value);
fireVetoableChange(CATEGORY_PROPERTY_ID, lValue, value);
iCategory = value;
if (!nl.knowledgeplaza.util.ObjectUtil.equals(lValue, value)) markAsDirty(true);
firePropertyChange(CATEGORY_PROPERTY_ID, lValue, value);
}
public nl.reinders.bm.Article2Articlecat withCategory(nl.reinders.bm.Articlecat value) { setCategory(value); return (nl.reinders.bm.Article2Articlecat)this; }
@ManyToOne(fetch = FetchType.LAZY, targetEntity = nl.reinders.bm.Articlecat.class, cascade = {CascadeType.REFRESH} ) @JoinColumn(name="categorynr")
volatile protected nl.reinders.bm.Articlecat iCategory;
final static public String CATEGORY_COLUMN_NAME = "categorynr"; // for when building SQL or starting reporting tools
final static public String CATEGORY_FIELD_ID = "iCategory";
final static public String CATEGORY_PROPERTY_ID = "category";
final static public Class<nl.reinders.bm.Articlecat> CATEGORY_PROPERTY_CLASS = nl.reinders.bm.Articlecat.class;
final static public boolean CATEGORY_PROPERTY_NULLABLE = false;
// to make IN queries possible
@Column(name="categorynr", insertable=false, updatable=false)
volatile protected java.math.BigDecimal iCategorynr = null;
final static public String CATEGORYNR_COLUMN_NAME = "categorynr"; // for when building SQL or starting reporting tools



// ===============================================================================================
// PROPERTIES

/** Oidnr */
public java.math.BigInteger getOidnr() { return iOidnr; }
public void setOidnr(java.math.BigInteger value)
{
if (isReadonly() == true) return;
if (value == iOidnr) return; // optimalisation and prevent looping
java.math.BigInteger lValue = iOidnr;
if (!nl.knowledgeplaza.util.ObjectUtil.equals(lValue, value)) failIfNoPermission(nl.reinders.bm.Article2Articlecat.class, OIDNR_PROPERTY_ID);
if (log4j.isDebugEnabled()) log4j.debug("setOidnr: " + lValue + " -> " + value);
fireVetoableChange(OIDNR_PROPERTY_ID, lValue, value);
iOidnr = value;
if (!nl.knowledgeplaza.util.ObjectUtil.equals(lValue, value)) markAsDirty(true);
firePropertyChange(OIDNR_PROPERTY_ID, lValue, value);
}
public nl.reinders.bm.Article2Articlecat withOidnr(java.math.BigInteger value) { setOidnr(value); return (nl.reinders.bm.Article2Articlecat)this; }
@Id @GeneratedValue(generator="article2articlecat.oidnr", strategy=GenerationType.TABLE) @TableGenerator( name="article2articlecat.oidnr", table="sequence", pkColumnName="seq_name", pkColumnValue="oidnr", valueColumnName="seq_count", initialValue=1, allocationSize=1) @Column(name="oidnr", nullable=false)
volatile protected java.math.BigInteger iOidnr = null;
final static public String OIDNR_COLUMN_NAME = "oidnr"; // for when building SQL or starting reporting tools
final static public String OIDNR_FIELD_ID = "iOidnr";
final static public String OIDNR_PROPERTY_ID = "oidnr";
final static public Class<java.math.BigInteger> OIDNR_PROPERTY_CLASS = java.math.BigInteger.class;
final static public boolean OIDNR_PROPERTY_NULLABLE = false;
final static public int OIDNR_PROPERTY_LENGTH = 4;
final static public int OIDNR_PROPERTY_PRECISION = 2;
public Object getPrimaryKeyValue_() { return iOidnr; }
public void setPrimaryKeyValue_(Object value) { setOidnr( (java.math.BigInteger) value); }

/** Lazylock */
public java.lang.Integer getLazylock() { return iLazylock; }
// version fields are immutable by the user of the business model
@Version
@Column(name="lazylock")
volatile protected java.lang.Integer iLazylock = 0;
final static public String LAZYLOCK_COLUMN_NAME = "lazylock"; // for when building SQL or starting reporting tools
final static public String LAZYLOCK_FIELD_ID = "iLazylock";
final static public String LAZYLOCK_PROPERTY_ID = "lazylock";
final static public Class<java.lang.Integer> LAZYLOCK_PROPERTY_CLASS = java.lang.Integer.class;
final static public boolean LAZYLOCK_PROPERTY_NULLABLE = true;
final static public int LAZYLOCK_PROPERTY_LENGTH = 4;
final static public int LAZYLOCK_PROPERTY_PRECISION = 2;

/** Dwhmodified */
public java.util.Calendar getDwhmodified() { return iDwhmodified == null ? null : (java.util.Calendar)iDwhmodified.clone(); } // we do not want to use mutables
public void setDwhmodified(java.util.Calendar value)
{
if (isReadonly() == true) return;
if (value == iDwhmodified) return; // optimalisation and prevent looping
java.util.Calendar lValue = iDwhmodified;
if (!nl.knowledgeplaza.util.ObjectUtil.equals(lValue, value)) failIfNoPermission(nl.reinders.bm.Article2Articlecat.class, DWHMODIFIED_PROPERTY_ID);
if (log4j.isDebugEnabled()) log4j.debug("setDwhmodified: " + lValue + " -> " + value);
fireVetoableChange(DWHMODIFIED_PROPERTY_ID, lValue, value);
iDwhmodified = value;
if (!nl.knowledgeplaza.util.ObjectUtil.equals(lValue, value)) markAsDirty(true);
firePropertyChange(DWHMODIFIED_PROPERTY_ID, lValue, value);
}
public nl.reinders.bm.Article2Articlecat withDwhmodified(java.util.Calendar value) { setDwhmodified(value); return (nl.reinders.bm.Article2Articlecat)this; }
@Temporal(TemporalType.TIMESTAMP) @Column(name="dwhmodified")
volatile protected java.util.Calendar iDwhmodified = new java.util.GregorianCalendar();
final static public String DWHMODIFIED_COLUMN_NAME = "dwhmodified"; // for when building SQL or starting reporting tools
final static public String DWHMODIFIED_FIELD_ID = "iDwhmodified";
final static public String DWHMODIFIED_PROPERTY_ID = "dwhmodified";
final static public Class<java.util.Calendar> DWHMODIFIED_PROPERTY_CLASS = java.util.Calendar.class;
final static public boolean DWHMODIFIED_PROPERTY_NULLABLE = true;
final static public int DWHMODIFIED_PROPERTY_LENGTH = 3594;

/** Dwhby */
public java.math.BigInteger getDwhby() { return iDwhby; }
public void setDwhby(java.math.BigInteger value)
{
if (isReadonly() == true) return;
if (value == iDwhby) return; // optimalisation and prevent looping
java.math.BigInteger lValue = iDwhby;
if (!nl.knowledgeplaza.util.ObjectUtil.equals(lValue, value)) failIfNoPermission(nl.reinders.bm.Article2Articlecat.class, DWHBY_PROPERTY_ID);
if (log4j.isDebugEnabled()) log4j.debug("setDwhby: " + lValue + " -> " + value);
fireVetoableChange(DWHBY_PROPERTY_ID, lValue, value);
iDwhby = value;
if (!nl.knowledgeplaza.util.ObjectUtil.equals(lValue, value)) markAsDirty(true);
firePropertyChange(DWHBY_PROPERTY_ID, lValue, value);
}
public nl.reinders.bm.Article2Articlecat withDwhby(java.math.BigInteger value) { setDwhby(value); return (nl.reinders.bm.Article2Articlecat)this; }
@Column(name="dwhby")
volatile protected java.math.BigInteger iDwhby = null;
final static public String DWHBY_COLUMN_NAME = "dwhby"; // for when building SQL or starting reporting tools
final static public String DWHBY_FIELD_ID = "iDwhby";
final static public String DWHBY_PROPERTY_ID = "dwhby";
final static public Class<java.math.BigInteger> DWHBY_PROPERTY_CLASS = java.math.BigInteger.class;
final static public boolean DWHBY_PROPERTY_NULLABLE = true;
final static public int DWHBY_PROPERTY_LENGTH = 4;
final static public int DWHBY_PROPERTY_PRECISION = 2;


// ===============================================================================================
// Clone

/** clone */
public Object clone()
{
try
{
// We're being simple here: since we don't know which class will be the actual toplevel one, we just create a new instance of ourselves
nl.reinders.bm.Article2Articlecat lNew = (nl.reinders.bm.Article2Articlecat)this.getClass().newInstance();
shallowCopy( (nl.reinders.bm.Article2Articlecat)this, lNew);
return lNew;
}
catch (InstantiationException e) { throw new RuntimeException(e); }
catch (IllegalAccessException e) { throw new RuntimeException(e); }
}
public nl.reinders.bm.Article2Articlecat cloneShallow() { return (nl.reinders.bm.Article2Articlecat)clone();}


/** shallow copy, used for cloning but also for e.g. updating an entity in a REST PUT */
static public void shallowCopy(nl.reinders.bm.Article2Articlecat original, nl.reinders.bm.Article2Articlecat copy)
{
copy.setArticle( original.getArticle() );
copy.setCategory( original.getCategory() );
// not cloning this column: copy.setDwhmodified( original.getDwhmodified() );
// not cloning this column: copy.setDwhby( original.getDwhby() );
}

/** clear properties */
public void clearProperties()
{
setArticle( null );
setCategory( null );
// not cloning this column: setDwhmodified( null );
// not cloning this column: setDwhby( null );
}

/** clear all properties that refer to an entity */
public void clearEntityProperties()
{
setArticle( null );
setCategory( null );
}



// =========================================================================================
// Comparable

/**
* default compare on primary key
*/
public int compareTo(nl.reinders.bm.Article2Articlecat o)
{
if (this.iOidnr == null) return -1;
if (o == null) return 1;
return this.iOidnr.compareTo( o.iOidnr );
}


// =========================================================================================
// DAO

/**
* @param oidnr
* @param writelock
*/
static private nl.reinders.bm.Article2Articlecat findOptionallyLockByPK(java.math.BigInteger oidnr, boolean writelock)
{
EntityManager lEntityManager = nl.knowledgeplaza.util.jpa.EntityManagerFinder.find();
if ( lEntityManager == null) return null;
if (log4j.isDebugEnabled()) log4j.debug("Using EM #" + Integer.toHexString( lEntityManager.hashCode() ) );
nl.reinders.bm.Article2Articlecat lEntity = (nl.reinders.bm.Article2Articlecat)lEntityManager.find(nl.reinders.bm.Article2Articlecat.class, oidnr);
if (writelock) lEntityManager.lock(lEntity, LockModeType.WRITE);
return lEntity;
}

/**
* @param oidnr
*/
static public nl.reinders.bm.Article2Articlecat findByPK(java.math.BigInteger oidnr)
{
return findOptionallyLockByPK(oidnr, false);
}
/**
* @param oidnr
*/
static public nl.reinders.bm.Article2Articlecat findAndLockByPK(java.math.BigInteger oidnr)
{
return findOptionallyLockByPK(oidnr, true);
}

/**
* @param keys (list of entity keys)
* @return list of all entities, keys that are not found throw an IllegalArgumentException
*/
static public java.util.List<nl.reinders.bm.Article2Articlecat> findByPKs(java.math.BigInteger... keys)
{
java.util.List<nl.reinders.bm.Article2Articlecat> lList = nl.knowledgeplaza.util.GenericsUtil.newArrayList();
for (java.math.BigInteger lKey : keys)
{
nl.reinders.bm.Article2Articlecat lEntity = findByPK(lKey);
if (lEntity == null) throw new IllegalArgumentException("Article2Articlecat" + lKey + " not found");
lList.add(lEntity);
}
return lList;
}
static public nl.reinders.bm.Article2Articlecat findByPK(int id) { return findByPK(java.math.BigInteger.valueOf(id)); }
static public nl.reinders.bm.Article2Articlecat findByPK(long id) { return findByPK(java.math.BigInteger.valueOf(id)); }
static public nl.reinders.bm.Article2Articlecat findAndLockByPK(int id) { return findAndLockByPK(java.math.BigInteger.valueOf(id)); }
static public nl.reinders.bm.Article2Articlecat findAndLockByPK(long id) { return findAndLockByPK(java.math.BigInteger.valueOf(id)); }

/**
* @param keys (list of entity keys)
* @return list of all entities, keys that are not found throw an IllegalArgumentException
*/
static public java.util.List<nl.reinders.bm.Article2Articlecat> findByPKs(long... keys)
{
java.util.List<nl.reinders.bm.Article2Articlecat> lList = nl.knowledgeplaza.util.GenericsUtil.newArrayList();
for (long lKey : keys)
{
nl.reinders.bm.Article2Articlecat lEntity = findByPK(lKey);
if (lEntity == null) throw new IllegalArgumentException("Article2Articlecat" + lKey + " not found");
lList.add(lEntity);
}
return lList;
}

/**
* find all entities
*/
static public java.util.List<nl.reinders.bm.Article2Articlecat> findAll()
{
return findAllOrderedBy(null);
}

/**
* find all entities ordered by
*/
static public java.util.List<nl.reinders.bm.Article2Articlecat> findSubsetOrderedBy(int startPosition, int maxResult, String orderedBy)
{
EntityManager lEntityManager = nl.knowledgeplaza.util.jpa.EntityManagerFinder.find();
if ( lEntityManager == null) return null;
if (log4j.isDebugEnabled()) log4j.debug("Using EM #" + Integer.toHexString( lEntityManager.hashCode() ) );
Query lQuery = lEntityManager.createQuery("select t from Article2Articlecat t" + (orderedBy == null ? "" : " order by t." + orderedBy) + "");
if (startPosition >= 0) lQuery.setFirstResult(startPosition);
if (maxResult >= 0) lQuery.setMaxResults(maxResult);
java.util.List<nl.reinders.bm.Article2Articlecat> lList = lQuery.getResultList();
return lList;
}
/**
* find all entities ordered by
*/
static public java.util.List<nl.reinders.bm.Article2Articlecat> findAllOrderedBy(String orderedBy)
{
return findSubsetOrderedBy(-1, -1, orderedBy);
}

/**
* @param article
* @param category
*/
static public nl.reinders.bm.Article2Articlecat findByArticleCategory(nl.reinders.bm.Article article, nl.reinders.bm.Articlecat category)
{
EntityManager lEntityManager = nl.knowledgeplaza.util.jpa.EntityManagerFinder.find();
if ( lEntityManager == null) return null;
if (log4j.isDebugEnabled()) log4j.debug("Using EM #" + Integer.toHexString( lEntityManager.hashCode() ) );
Query lQuery = lEntityManager.createQuery("select t from Article2Articlecat t where t.iArticle=:Article and t.iCategory=:Category");
lQuery.setParameter("Article", article);
lQuery.setParameter("Category", category);
return (nl.reinders.bm.Article2Articlecat)nl.knowledgeplaza.util.jpa.JpaUtil.getSingleResultOrNull(lQuery);
}
/** A comparator that compares on article category */
final static public java.util.Comparator<nl.reinders.bm.Article2Articlecat> COMPARATOR_ARTICLE_CATEGORY = new ComparatorArticle_Category();
static public class ComparatorArticle_Category implements java.util.Comparator<nl.reinders.bm.Article2Articlecat>
{
@Override public int compare(nl.reinders.bm.Article2Articlecat o1, nl.reinders.bm.Article2Articlecat o2)
{
int lValue;
// Article
if (o1.iArticle == null && o2.iArticle != null) return -1;
if (o1.iArticle != null && o2.iArticle == null) return 1;
lValue = o1.iArticle.compareTo(o2.iArticle);
if (lValue != 0) return lValue;
// Category
if (o1.iCategory == null && o2.iCategory != null) return -1;
if (o1.iCategory != null && o2.iCategory == null) return 1;
lValue = o1.iCategory.compareTo(o2.iCategory);
if (lValue != 0) return lValue;
// equal
return 0;
}
};
/**
* @param articlenr
* @param categorynr
*/
static public nl.reinders.bm.Article2Articlecat findByArticlenrCategorynr(java.math.BigInteger articlenr, java.math.BigInteger categorynr)
{
EntityManager lEntityManager = nl.knowledgeplaza.util.jpa.EntityManagerFinder.find();
if ( lEntityManager == null) return null;
if (log4j.isDebugEnabled()) log4j.debug("Using EM #" + Integer.toHexString( lEntityManager.hashCode() ) );
Query lQuery = lEntityManager.createQuery("select t from Article2Articlecat t where t.iArticlenr=:Articlenr and t.iCategorynr=:Categorynr");
lQuery.setParameter("Articlenr", articlenr);
lQuery.setParameter("Categorynr", categorynr);
return (nl.reinders.bm.Article2Articlecat)nl.knowledgeplaza.util.jpa.JpaUtil.getSingleResultOrNull(lQuery);
}
/** A comparator that compares on articlenr categorynr */
final static public java.util.Comparator<nl.reinders.bm.Article2Articlecat> COMPARATOR_ARTICLENR_CATEGORYNR = new ComparatorArticlenr_Categorynr();
static public class ComparatorArticlenr_Categorynr implements java.util.Comparator<nl.reinders.bm.Article2Articlecat>
{
@Override public int compare(nl.reinders.bm.Article2Articlecat o1, nl.reinders.bm.Article2Articlecat o2)
{
int lValue;
// Articlenr
if (o1.iArticlenr == null && o2.iArticlenr != null) return -1;
if (o1.iArticlenr != null && o2.iArticlenr == null) return 1;
lValue = o1.iArticlenr.compareTo(o2.iArticlenr);
if (lValue != 0) return lValue;
// Categorynr
if (o1.iCategorynr == null && o2.iCategorynr != null) return -1;
if (o1.iCategorynr != null && o2.iCategorynr == null) return 1;
lValue = o1.iCategorynr.compareTo(o2.iCategorynr);
if (lValue != 0) return lValue;
// equal
return 0;
}
};
/**
* @param oidnr
*/
static public nl.reinders.bm.Article2Articlecat findByOidnr(java.math.BigInteger oidnr)
{
EntityManager lEntityManager = nl.knowledgeplaza.util.jpa.EntityManagerFinder.find();
if ( lEntityManager == null) return null;
if (log4j.isDebugEnabled()) log4j.debug("Using EM #" + Integer.toHexString( lEntityManager.hashCode() ) );
Query lQuery = lEntityManager.createQuery("select t from Article2Articlecat t where t.iOidnr=:Oidnr");
lQuery.setParameter("Oidnr", oidnr);
return (nl.reinders.bm.Article2Articlecat)nl.knowledgeplaza.util.jpa.JpaUtil.getSingleResultOrNull(lQuery);
}
/** A comparator that compares on oidnr */
final static public java.util.Comparator<nl.reinders.bm.Article2Articlecat> COMPARATOR_OIDNR = new ComparatorOidnr();
static public class ComparatorOidnr implements java.util.Comparator<nl.reinders.bm.Article2Articlecat>
{
@Override public int compare(nl.reinders.bm.Article2Articlecat o1, nl.reinders.bm.Article2Articlecat o2)
{
int lValue;
// Oidnr
if (o1.iOidnr == null && o2.iOidnr != null) return -1;
if (o1.iOidnr != null && o2.iOidnr == null) return 1;
lValue = o1.iOidnr.compareTo(o2.iOidnr);
if (lValue != 0) return lValue;
// equal
return 0;
}
};


// =========================================================================================
// EQUALS AND HASHCODE

/**
*
*/
@Override public boolean equals(Object o)
{
if (o == null) return false;
if (this == o) return true;
if (!(o instanceof nl.reinders.bm.Article2Articlecat)) return false;
nl.reinders.bm.Article2Articlecat lOther = (nl.reinders.bm.Article2Articlecat)o;
boolean lEqual = true;
// if a primary key is defined, we use that (this is very quick)
if ( this.iOidnr != null && lOther.iOidnr != null
&& this.iLazylock != null && lOther.iLazylock != null
)
{
if (lEqual) lEqual &= nl.knowledgeplaza.util.ObjectUtil.equals( this.iOidnr, lOther.iOidnr );
if (lEqual) lEqual &= nl.knowledgeplaza.util.ObjectUtil.equals( this.iLazylock, lOther.iLazylock );
}
// otherwise we need to do a compare on featured properties
else
{
// simple properties
if (lEqual) lEqual &= nl.knowledgeplaza.util.ObjectUtil.equals( this.iOidnr, lOther.iOidnr );
if (lEqual) lEqual &= nl.knowledgeplaza.util.ObjectUtil.equals( this.iLazylock, lOther.iLazylock );
if (lEqual) lEqual &= nl.knowledgeplaza.util.ObjectUtil.equals( this.iDwhmodified, lOther.iDwhmodified );
if (lEqual) lEqual &= nl.knowledgeplaza.util.ObjectUtil.equals( this.iDwhby, lOther.iDwhby );
// one properties
if (lEqual) lEqual &= nl.knowledgeplaza.util.ObjectUtil.equals( this.iArticle, lOther.iArticle );
if (lEqual) lEqual &= nl.knowledgeplaza.util.ObjectUtil.equals( this.iCategory, lOther.iCategory );
}
return lEqual;
}

/**
*
*/
@Override public int hashCode()
{
int lHashCode = nl.knowledgeplaza.util.HashCodeUtil.SEED;;
// if a primary key is defined, we use that (this is very quick)
if ( this.iOidnr != null
&& this.iLazylock != null
)
{
lHashCode = nl.knowledgeplaza.util.HashCodeUtil.hash(lHashCode, this.iOidnr);
lHashCode = nl.knowledgeplaza.util.HashCodeUtil.hash(lHashCode, this.iLazylock);
}
// otherwise we need to do a compare on featured properties
else
{
// simple properties
lHashCode = nl.knowledgeplaza.util.HashCodeUtil.hash(lHashCode, this.iOidnr);
lHashCode = nl.knowledgeplaza.util.HashCodeUtil.hash(lHashCode, this.iLazylock);
lHashCode = nl.knowledgeplaza.util.HashCodeUtil.hash(lHashCode, this.iDwhmodified);
lHashCode = nl.knowledgeplaza.util.HashCodeUtil.hash(lHashCode, this.iDwhby);
// one properties
lHashCode = nl.knowledgeplaza.util.HashCodeUtil.hash(lHashCode, this.iArticle);
lHashCode = nl.knowledgeplaza.util.HashCodeUtil.hash(lHashCode, this.iCategory);
}
return lHashCode;
}



// =========================================================================================
// CONVIENIENCE

/**
*
*/
public String toString()
{
StringBuffer lStringBuffer = new StringBuffer();
lStringBuffer.append(super.toString());
lStringBuffer.append("&Oidnr="); lStringBuffer.append(getOidnr());
return lStringBuffer.toString();
}


/**
* Using the Internationalization class
*/
static public String translate(String id)
{
return nl.knowledgeplaza.util.Internationalization.get().translate(nl.reinders.bm.Article2Articlecat.class, id);
}
static public String translate(String id, boolean nullable)
{
return nl.knowledgeplaza.util.Internationalization.get().translate(nl.reinders.bm.Article2Articlecat.class, id) + (nullable ? "" : "*");
}
static public String translate(String id, java.util.Locale locale)
{
return nl.knowledgeplaza.util.Internationalization.get().translate(nl.reinders.bm.Article2Articlecat.class, id, locale);
}
}


**************************************************************************************************************************************************************************


/*
* Copyright: (c) TBEE.ORG
* Version: $Revision: 1.72 $
* Modified: $Date: 2011/12/08 16:00:45 $
* By: $Author: toeukpap $
*/
package nl.reinders.bm;

import java.util.GregorianCalendar;
import java.util.Vector;
import java.util.concurrent.atomic.AtomicInteger;

import javax.persistence.MappedSuperclass;
import javax.persistence.Transient;

import nl.knowledgeplaza.util.ConfigurationProperties;
import nl.knowledgeplaza.util.ListenerHandler;
import nl.knowledgeplaza.util.PropertyChangeProvider;
import nl.knowledgeplaza.util.jpa.EntityManagerChangeCount;

/**
* This is the bean all entities must extend.
*
* @author User
*
* @param <T>
*/
@MappedSuperclass
abstract public class AbstractBean<T> extends nl.knowledgeplaza.util.AbstractBean<T>
implements PropertyChangeProvider
, nl.knowledgeplaza.util.jpa.JpaUtil.JpaEntityInformation
, nl.knowledgeplaza.util.jpa.EclipselinkDescriptorEventListenerRouter.EclipselinkEntityEventListener
, java.io.Serializable
{
static org.apache.log4j.Logger log4j = org.apache.log4j.Logger.getLogger(AbstractBean.class.getName());

// =========================================================================================
// CONSTRUCTOR

/**
*
*/
public AbstractBean()
{
// don't do anything here that involves the objects above, since the constructor (and variable initialization) has not been completed at this point
}

// =========================================================================================
// PrimaryKeyValue_

public Object getPrimaryKeyValue_() { throw new IllegalStateException("PrimaryKeyValue_ not implemented"); }
public void setPrimaryKeyValue_(Object value) { throw new IllegalStateException("PrimaryKeyValue_ not implemented"); }
public T withPrimaryKeyValue_(Object value) { setPrimaryKeyValue_(value); return (T)this; }


// ===============================================================================================
//nl.knowledgeplaza.util.jpa.JpaUtil.JpaEntityInformation

/**
* Used a.o. by JpaObjectNavigatorModel to decide whether to do a merge or persist
*/
public Boolean isAlreadyPersisted()
{
// if this object was read from storage, it was persisted before
return iReadFromStorage;
}


// ===============================================================================================
// ConfigurationProperties

/**
*
* @return
*/
static synchronized public ConfigurationProperties getConfigurationProperties()
{
return ConfigurationProperties.get();
}


// ===============================================================================================
// EventListeners

/**
* This is a simple notification mechanism to transmit that something happened.
* What happened is identified by an ID
*/
public interface SimpleEventListener
{
public void eventHappened(String event);
}
@Transient transient final public ListenerHandler<SimpleEventListener, String> simpleEventListeners = new ListenerHandler<SimpleEventListener, String>()
{
public void fire(SimpleEventListener listener, String event)
{
listener.eventHappened(event);
}
};

// ===============================================================================================
// PropertyChange


static public boolean isMetaProperty(String name)
{
return "dwhmodified".equals(name)
|| "dwhby".equals(name)
;
}


// ===============================================================================================
// PendingChanges

/** PendingChanges */
public boolean isDirty() { return iDirty; }
public void markAsDirty(boolean value)
{
// ignore?
if (iIgnoreChangesGate.get() != 0 || iIgnoreAllChangesGate.get() != 0) return;

// beter do this N times unnecessary, than missing one beat
// this may be caused by something trivial like a formatter in a textfield being configured wrong
// in that case it is better to get a "do you want to save" without having modified anything, over losing changes
//if (value == iPendingChanges) return;

// if already set to correct value
if (iDirty == value) return;

// remember
// if (value) System.out.println(this.getClass().getName() + " dirty=" + iDirty + " -> " + value + " / " + this);
// if (value) (new Throwable()).printStackTrace(System.out);
iDirty = value;

// status changed, correct the ChangeCount
if (value)
{
EntityManagerChangeCount.markAsChanged(this);
touch();
markedAsDirtyHook();
}
else
{
EntityManagerChangeCount.markAsUnchanged(this);
// untouch??
}
}
@Transient transient volatile private boolean iDirty = false;
protected void markedAsDirtyHook() {}

/** Readonly */
public boolean isReadonly() { return iReadonly; }
public void setReadonly(boolean value) { iReadonly = value; }
@Transient transient volatile private boolean iReadonly = false;

/** disable the change detection on this entity (for defaults in the constructor), ignore and register must be balanced! */
public void ignoreChanges() { iIgnoreChangesGate.incrementAndGet(); }
public T withIgnoreChanges() { ignoreChanges(); return (T)this; }
public void registerChanges() { iIgnoreChangesGate.decrementAndGet(); }
@Transient transient final private AtomicInteger iIgnoreChangesGate = new AtomicInteger();

/** */
protected void applyDefaults()
{
ignoreChanges();
//boolean lHadPermissionAlready = BM.setSecurityTokenThread(BM.SECURITYTOKEN_SUPERUSER);
iSettingDefaults++;
try
{
defaults();
}
finally
{
iSettingDefaults--;
//if (lHadPermissionAlready == false) BM.removeSecurityTokenThread(BM.SECURITYTOKEN_SUPERUSER);
registerChanges();
}
}
protected void defaults() {}
@Transient transient volatile private int iSettingDefaults = 0;
public boolean isSettingDefaults() { return iSettingDefaults > 0; }

/** disable the change detection on ALL entities, ignore and register must be balanced! */
static public void ignoreAllChanges() { iIgnoreAllChangesGate.incrementAndGet(); }
static public void registerAllChanges() { iIgnoreAllChangesGate.decrementAndGet(); }
@Transient transient final static private AtomicInteger iIgnoreAllChangesGate = new AtomicInteger();

/**
* only fail is not setting defaults
* @param clazz
* @param property
*/
protected void failIfNoPermission(Class clazz, String property)
{
if (isSettingDefaults()) return;
BM.failIfNoPermission(clazz, property);
}

// ===============================================================================================
// Datawarehouse

// place holders, should be overridden but this is not forced to allow none DWH entities
public void setDwhmodified(java.util.Calendar value) {}
public void setDwhby(java.math.BigInteger value) {}

// GlobalDwhby
static public java.math.BigInteger getGlobalDwhby()
{
java.math.BigInteger lDwhby = null;
if (lDwhby == null) lDwhby = cGlobalDwhby;
return lDwhby;
}
static public void setGlobalDwhby(java.math.BigInteger id) { cGlobalDwhby = id; cGlobalDwhbyEmployee = Employee.findByPK(id); }
@Transient transient static java.math.BigInteger cGlobalDwhby = null;
@Transient transient static Employee cGlobalDwhbyEmployee = null;

// GlobalDwhby
static public Employee getLoggedInEmployee()
{
Employee lDwhby = null;
//if (lDwhby == null) lDwhby = (Employee)ThreadUtil.get(Thread.currentThread(), LOGGED_IN_EMPLOYEE);
//if (lDwhby == null) lDwhby = (Employee)ThreadUtil.get(Thread.currentThread().getThreadGroup(), LOGGED_IN_EMPLOYEE);
if (lDwhby == null) lDwhby = cGlobalDwhbyEmployee;
return lDwhby;
}

// placeholders, should be overriden but this is not forced to allow none DWH entities
public Integer getLazylock() { iSupportsLazyLockFlag = false; return null;}
public void setLazylock(Integer x) {}
public boolean supportsLazylock()
{
// check if this class supports lazy locking
// the answer is cached, since it never really changes
if (iSupportsLazyLockFlag == null)
{
// this is done by calling getLazyLock, if the implementation above is executed we know that it is not
getLazylock();
// if the implementation is not reached, then the method is overriden and it has lazy locking
if (iSupportsLazyLockFlag == null) iSupportsLazyLockFlag = true;
}

// done
return iSupportsLazyLockFlag.booleanValue();
}
@Transient transient Boolean iSupportsLazyLockFlag = null;


// ===============================================================================================
// events (EclipselinkDescriptorEventListenerRouter)

/*
* Reset the pending changes flag upon loading from or updating the database.
* - it resets when loading after the constructor, so setting defaults does not leave the flag to TRUE
* - however, creating a new object instead of loading still requires this call
* - it resets after the object is updated in the database
*/

@Override
public boolean isOverriddenEvent(Vector arg1)
{
return false;
}

// build
@Override
public void postBuild()
{
// during load any changes are considered part of the load and cannot make the entity dirty
// anything that happens post-load can
try
{
iReadFromStorage = true;
ignoreChanges();
rememberAtLoadTimeValues();
}
finally
{
registerChanges();
}
postLoadHook();
}
transient volatile private boolean iReadFromStorage = false;

// clone
@Override
public void postClone()
{
}

// refresh
@Override
public void postRefresh()
{
}

// insert
@Override
public void preInsert()
{
if (AbstractBean.getGlobalDwhby() == null) throw new IllegalStateException("Cannot set Dwhby, because GlobalDwhby is not set.");
prePersistHook();
preSaveHook();
touch();
}
@Override
public void aboutToInsert()
{
}
@Override
public void postInsert()
{
postPersistHook();
postSaveHook();
// for the DataChangeListener: add this class as having changed
EntityManagerChangeCount.addDataChange(getClass().getSimpleName());
markAsDirty(false);
}
// persist
@Override
public void prePersist()
{
}

// update
@Override
public void preUpdate()
{
}
@Override
public void preUpdateWithChanges()
{
if (AbstractBean.getGlobalDwhby() == null) throw new IllegalStateException("Cannot set Dwhby, because GlobalDwhby is not set.");
preUpdateHook();
preSaveHook();
}
@Override
public void aboutToUpdate()
{
}
@Override
public void postUpdate()
{
postUpdateHook();
postSaveHook();
// for the DataChangeListener: add this class as having changed
EntityManagerChangeCount.addDataChange(getClass().getSimpleName());
markAsDirty(false);
}

// write
@Override
public void preWrite()
{
}
@Override
public void postWrite()
{
}

// merge
@Override
public void postMerge()
{
}

// delete
@Override
public void preDelete()
{
preRemoveHook();
}
@Override
public void aboutToDelete()
{
}
@Override
public void postDelete()
{
postRemoveHook();
}
// remove
@Override
public void preRemove()
{
}

// -------
// hooks

public void postLoadHook() {}
public void rememberAtLoadTimeValues() {}
public void prePersistHook() {}
public void postPersistHook() {}
public void preUpdateHook() {}
public void postUpdateHook() {}
public void preSaveHook() {}
public void postSaveHook() {}
public void preRemoveHook() {}
public void postRemoveHook() {}


// =================================================================================================
// touch

/**
* Touch the current entity (see unix man pages)
*/
public void touch()
{
setDwhmodified(new GregorianCalendar());
setDwhby( getGlobalDwhby() );
}
}


**************************************************************************************************************************************************************************


/*
* Copyright: (c) KnowledgePlaza
* Version: $Revision: 1.11 $
* Modified: $Date: 2011/12/08 16:00:17 $
* By: $Author: toeukpap $
*/
package nl.knowledgeplaza.util;

import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.beans.VetoableChangeListener;
import java.beans.VetoableChangeSupport;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.MappedSuperclass;
import javax.persistence.Transient;

import nl.knowledgeplaza.util.property.Property;
import nl.knowledgeplaza.util.property.Property.PropertyBean;

/**
* a class that implements standard features of a JavaBean.
* The inherting class should implements:
* - parameterless constructor
* - serializable
* ...
*
* @author tom
*
*/
@MappedSuperclass
abstract public class AbstractBean<T>
implements PropertyChangeProvider
, PropertyBean
, java.io.Serializable
{
// ===============================================================================================
// PropertyChange

/** PropertyChange */
synchronized public boolean hasPropertyChangeListeners() { return (iPropertyChangeSupport != null && iPropertyChangeSupport.getPropertyChangeListeners().length > 0); }
synchronized public boolean hasPropertyChangeListeners(String property) { return (iPropertyChangeSupport != null && iPropertyChangeSupport.hasListeners(property)); }
public PropertyChangeListener[] getPropertyChangeListeners() { if (iPropertyChangeSupport == null) return new PropertyChangeListener[]{}; return iPropertyChangeSupport.getPropertyChangeListeners(); }
synchronized public void addPropertyChangeListener(PropertyChangeListener o) { if (iPropertyChangeSupport == null) iPropertyChangeSupport = new PropertyChangeSupport(this); iPropertyChangeSupport.addPropertyChangeListener(o); }
public void removePropertyChangeListener(PropertyChangeListener o) { if (iPropertyChangeSupport == null) return; iPropertyChangeSupport.removePropertyChangeListener(o); }
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName) { if (iPropertyChangeSupport == null) return new PropertyChangeListener[]{}; return iPropertyChangeSupport.getPropertyChangeListeners(propertyName); }
synchronized public void addPropertyChangeListener(String propertyName, PropertyChangeListener o) { if (iPropertyChangeSupport == null) iPropertyChangeSupport = new PropertyChangeSupport(this); iPropertyChangeSupport.addPropertyChangeListener(propertyName, o); }
public void removePropertyChangeListener(String propertyName, PropertyChangeListener o) { if (iPropertyChangeSupport == null) return; iPropertyChangeSupport.removePropertyChangeListener(propertyName, o); }
public void firePropertyChange(String name, Object before, Object after)
{
// do not fire if equal
if (ObjectUtil.equals(before, after)) return;

// fire
firePropertyChangeActual(name, before, after);
}
// prechecks have been made, and we're actually firing the event
protected void firePropertyChangeActual(String name, Object before, Object after)
{
// no PCS
if (iPropertyChangeSupport == null) return;

// do it
iPropertyChangeSupport.firePropertyChange(name, before, after);
}
@Transient transient volatile private PropertyChangeSupport iPropertyChangeSupport = null;


// ===============================================================================================
// VetoableChange

/** VetoableChange */
synchronized public boolean hasVetoableChangeListeners() { return (iVetoableChangeSupport != null && iVetoableChangeSupport.getVetoableChangeListeners().length > 0); }
synchronized public boolean hasVetoableChangeListeners(String property) { return (iVetoableChangeSupport != null && iVetoableChangeSupport.hasListeners(property)); }
synchronized public void addVetoableChangeListener(VetoableChangeListener o) { if (iVetoableChangeSupport == null) iVetoableChangeSupport = new VetoableChangeSupport(this); iVetoableChangeSupport.addVetoableChangeListener(o); }
public void removeVetoableChangeListener(VetoableChangeListener o) { if (iVetoableChangeSupport == null) return; iVetoableChangeSupport.removeVetoableChangeListener(o); }
synchronized public void addVetoableChangeListener(String property, VetoableChangeListener o) { if (iVetoableChangeSupport == null) iVetoableChangeSupport = new VetoableChangeSupport(this); iVetoableChangeSupport.addVetoableChangeListener(property, o); }
public void removeVetoableChangeListener(String property, VetoableChangeListener o) { if (iVetoableChangeSupport == null) return; iVetoableChangeSupport.removeVetoableChangeListener(property, o); }
public void fireVetoableChange(String name, Object before, Object after)
{
// do not fire if equal
if (ObjectUtil.equals(before, after)) return;

// fire
fireVetoableChangeActual(name, before, after);
}
// prechecks have been made, and we're actually firing the event
protected void fireVetoableChangeActual(String name, Object before, Object after)
{
// no VCS
if (iVetoableChangeSupport == null) return;

// fire
try
{
iVetoableChangeSupport.fireVetoableChange(name, before, after);
}
catch (java.beans.PropertyVetoException e)
{
// rethrow the PropertyVetoException without having to declare it (tsssk tsssk tsssk)
//JGoodies swallows PVE's, so make it a IAE: ExceptionUtil.throwUnchecked(e);
throw new IllegalArgumentException("Vetoed:" + e.getMessage(), e);
}
}
@Transient transient volatile private VetoableChangeSupport iVetoableChangeSupport = null;


// ===============================================================================================
// PropertyBean

@Transient transient volatile private List<Property> iProperties = null;
public void addProperty(Property p)
{
if (iProperties == null) iProperties = ne
Re: java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted dupli [message #769739 is a reply to message #769093] Thu, 22 December 2011 16:08 Go to previous messageGo to next message
James Sutherland is currently offline James SutherlandFriend
Messages: 1939
Registered: July 2009
Location: Ottawa, Canada
Senior Member

Did you try disabling weaving yet?

When you run the simple main class, are you using the agent? My guess is weaving does not occur, so no error.

You could also try static weaving.

My guess is that the error is related to your odd inheritance,

abstract public class Article2Articlecat extends nl.reinders.bm.AbstractBean<nl.reinders.bm.Article2Articlecat>

Does it work if you remove the generics?

The way I found the offending code when I got the error was to comment out each of the methods, or method bodies until the error no longer occurred, then I new what was causing it.



James : Wiki : Book : Blog : Twitter
Re: java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted dupli [message #769744 is a reply to message #769093] Thu, 22 December 2011 16:08 Go to previous messageGo to next message
James is currently offline JamesFriend
Messages: 272
Registered: July 2009
Senior Member
Did you try disabling weaving yet?

When you run the simple main class, are you using the agent? My guess is weaving does not occur, so no error.

You could also try static weaving.

My guess is that the error is related to your odd inheritance,

abstract public class Article2Articlecat extends nl.reinders.bm.AbstractBean<nl.reinders.bm.Article2Articlecat>

Does it work if you remove the generics?

The way I found the offending code when I got the error was to comment out each of the methods, or method bodies until the error no longer occurred, then I new what was causing it.


--
James : http://wiki.eclipse.org/EclipseLink : http://en.wikibooks.org/wiki/Java_Persistence : http://java-persistence-performance.blogspot.com/
Re: java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted dupli [message #770160 is a reply to message #769739] Fri, 23 December 2011 13:51 Go to previous messageGo to next message
Tom Eugelink is currently offline Tom EugelinkFriend
Messages: 817
Registered: July 2009
Senior Member
> Did you try disabling weaving yet?

Yes, the Swing application starts correctly. But not weaving will ruin the performance because it removes lazy loading (right?).


> When you run the simple main class, are you using the agent? My guess is weaving does not occur, so no error.

Yes, both start with the same arguments:

-Dlog4j.debug=true -Xmx256m -javaagent:${eclipselink.jar}

Is there any way to get the Eclipselink's version information programatically? org.eclipse.persistence.Version seems more about the API, not Eclipselink's build (I get "2.0.0" on 2.3.0).


> You could also try static weaving.

The delivery version uses a static woven bm.jar and runs correctly, indeed.


> My guess is that the error is related to your odd inheritance,
> abstract public class Article2Articlecat extends nl.reinders.bm.AbstractBean<nl.reinders.bm.Article2Articlecat>
> Does it work if you remove the generics?

This technique is the best way to implement fluent interfaces while using inheritance, nothing odd about it. :-)

Again, this is nested so deep into the BM, that I cannot remove it; 99% of the code wouldn't compile anymore.
Since it happens on all classes, it probably has something to do with the abstract beans on top.

Tom
Re: java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted dupli [message #774210 is a reply to message #770160] Tue, 03 January 2012 14:05 Go to previous messageGo to next message
Tom Eugelink is currently offline Tom EugelinkFriend
Messages: 817
Registered: July 2009
Senior Member
>> You could also try static weaving.
>
> The delivery version uses a static woven bm.jar and runs correctly, indeed.

Interestingly if I set "only include exported entries" in the eclipse run configuration to false, then it works via the agent.

But since that often is a source of hard to find problems, I usually have it set to "true" and then then agent doesn't work.

Tom
Re: java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted dupli [message #774220 is a reply to message #774210] Tue, 03 January 2012 14:36 Go to previous message
Tom Eugelink is currently offline Tom EugelinkFriend
Messages: 817
Registered: July 2009
Senior Member
> Interestingly if I set "only include exported entries" in the eclipse run configuration to false, then it works via the agent.
>
> But since that often is a source of hard to find problems, I usually have it set to "true" and then then agent doesn't work.

Right! And that worked because one of the utility projects had an Eclipselink 2.0.0 and that overruled the Eclipselink 2.3.0.
So it was actually running with the wrong version (this is exactly why I have this option set to false).

Shoot, didn't find a workaround.

Tom
Previous Topic:Auto generated Id - Optional late binding mechanism
Next Topic:binding attributes from inherited interfaces
Goto Forum:
  


Current Time: Tue Apr 16 14:03:23 GMT 2024

Powered by FUDForum. Page generated in 1.08065 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top