Hello all,

I have the same ejb-jar file deployed at different jndi locations:
context_test1 and context_test2.

Bascially the ejb jar files contain the same classes  but have modified
xml descriptors and separate databases.

They deploy fine and I can see both applications using the web-console,
I see no exceptions at all and database tables are created perfectly.

However when I start to allow clients to connect and call methods on
either applications façade methods I get :

java.lang.LinkageError: duplicate class definition:
net/aurium/util/UUIDv4 thrown.
or
java.lang.LinkageError: duplicate class definition:
net/aurium/mis/services/ContextModelEvents thrown.


These are classes used to generate uuids and record events, other
classes used by both ejb jar files throw similar exceptions, but not
all.  I can't find why this is!

Is there a reason why it wouldn’t throw this same exception when the ejb
class files are the same? Why is it ok to have the same ejb classes but
not others?

I was under the impression that each ejb jar would search its own class
loader which would find files in the jar and not bother with the other
jar, so each ejb application would be "self contained".

Is there something I'm doing wrong here or is the only solution to put
all classes which are shared in to a  lib jar?


Thanks in advance for any help - we're putting together a small doc
which describes what you need to do to deply multiple versions of the
same ejb aplication on the same jboss instance, 


Oisin



The server stack trace is :

15:57:45,319 WARN  [ClassLoadingTask] Duplicate class found:
net.aurium.mis.services.ContextModelEvents
Current CS:
(file:/usr/local/install/jboss-3.2.2RC1/server/default/tmp/deploy/tmp626
39context_test1.jar <no certificates>)
Duplicate CS:
(file:/usr/local/install/jboss-3.2.2RC1/server/default/tmp/deploy/tmp626
38context_test2.jar <no certificates>)
15:57:45,320 ERROR [LogInterceptor] Unexpected Error:
java.lang.LinkageError: duplicate class definition:
net/aurium/mis/services/ContextModelEvents
        at
net.aurium.context.facades.ejb.ContextModelEJB.getAssociationWithSubject
PredicateAndObject(ContextModelEJB.java:587)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)        
          at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(Stat
elessSessionContainer.java:646)
        at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(
CachedConnectionInterceptor.java:186)
        at
org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Statele
ssSessionInstanceInterceptor.java:72)
        at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterce
ptor.java:84)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptor
CMT.java:243)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:104)
        at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.jav
a:117)
        at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
        at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryF
inderInterceptor.java:122)
        at
org.jboss.ejb.StatelessSessionContainer.internalInvoke(StatelessSessionC
ontainer.java:323)
        at org.jboss.ejb.Container.invoke(Container.java:673)
        at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDi
spatcher.java:284)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)

        at
org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:359
)
        at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)

        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)

        at sun.rmi.transport.Transport$1.run(Transport.java:148)
        at java.security.AccessController.doPrivileged(Native Method)

        at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
        at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
va:701)        
        at java.lang.Thread.run(Thread.java:536)





The client stack trace is:


14:39:29,765 ERROR [ModelBuilderFromDirectory] Exception thrown:
org.jboss.tm.JBossTransactionRolledbackException: Unexpected Error
java.lang.LinkageError: duplicate class definition:
net/aurium/util/UUIDv4
        at
net.aurium.context.data.ejb.AssociationEJB.ejbCreate(AssociationEJB.java
:285)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.jboss.ejb.plugins.CMPPersistenceManager.createEntity(CMPPersistenceM
anager.java:193)
        at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.createE
ntity(CachedConnectionInterceptor.java:270)
        at
org.jboss.ejb.EntityContainer.createLocalHome(EntityContainer.java:572)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityCont
ainer.java:1006)
        at
org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor
.java:88)
        at
org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(Entity
SynchronizationInterceptor.java:188)
        at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeH
ome(CachedConnectionInterceptor.java:215)
        at
org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor
.java:88)
        at
org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanc
eInterceptor.java:91)
        at
org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterce
ptor.java:61)
        at
org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreatio
nInterceptor.java:28)
        at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterce
ptor.java:88)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptor
CMT.java:243)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:
74)
        at
org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor
.java:92)
        at
org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:120)
        at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFact
oryFinderInterceptor.java:93)
        at
org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:47
8)
        at org.jboss.ejb.Container.invoke(Container.java:693)
        at
org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalPr
oxyFactory.java:272)
        at
org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:11
0)
        at $Proxy65.create(Unknown Source)
        at
net.aurium.context.facades.ejb.ContextModelEJB.primitiveAddAssociation(C
ontextModelEJB.java:225)
        at
net.aurium.context.facades.ejb.ContextModelEJB.addAssociation(ContextMod
elEJB.java:189)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(Stat
elessSessionContainer.java:646)
        at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(
CachedConnectionInterceptor.java:186)
        at
org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Statele
ssSessionInstanceInterceptor.java:72)
        at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterce
ptor.java:84)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptor
CMT.java:243)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:104)
        at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.jav
a:117)
        at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
        at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryF
inderInterceptor.java:122)
        at
org.jboss.ejb.StatelessSessionContainer.internalInvoke(StatelessSessionC
ontainer.java:323)
        at org.jboss.ejb.Container.invoke(Container.java:673)
        at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDi
spatcher.java:284)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
        at
org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:359
)
        at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
        at sun.rmi.transport.Transport$1.run(Transport.java:148)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
        at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
va:701)

Oisin Kim

Aurium
Tel: +353 1 6611132
Fax: +353 1 6615200
e-mail: [EMAIL PROTECTED]
web site: http://www.aurium.net 




-------------------------------------------------------
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing & more.
Download & eval WebKing and get a free book.
www.parasoft.com/bulletproofapps
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to