[jboss-jira] [JBoss JIRA] Updated: (JBAS-3337) ClassNotFoundException during cache invalidation (option D) of EJBs with composite primary keys

Brian Stansberry (JIRA) jira-events at lists.jboss.org
Tue Jan 20 15:11:05 EST 2009


     [ https://jira.jboss.org/jira/browse/JBAS-3337?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brian Stansberry updated JBAS-3337:
-----------------------------------

    Fix Version/s: Backlog


> ClassNotFoundException during cache invalidation (option D) of EJBs with composite primary keys
> -----------------------------------------------------------------------------------------------
>
>                 Key: JBAS-3337
>                 URL: https://jira.jboss.org/jira/browse/JBAS-3337
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Clustering, EJB2, EJB3
>    Affects Versions: JBossAS-3.2.7 Final, JBossAS-4.0.4.GA
>         Environment: Windows XP (java 1.4 1.5), Linux Debian (java 1.4), PC
>            Reporter: Przemek Dlugosz
>            Assignee: Brian Stansberry
>             Fix For: Backlog
>
>
> When using ejb containers like "Standard CMP 2.x EntityBean with cache invalidation" (or similar) with option D in clustered environment we encounter ClassNotFoundException when one of our servers modify data (with composite PK) and the other one receives "invalidate" message. Then the other one prints something like this:
> ================================
> 2006-06-23 16:19:09,325 WARN  [org.jboss.ha.framework.interfaces.HAPartition.DefaultPartition] failed unserializing message buffer (msg=[dst: 228.1.2.3:45566, src: metria:45663 (additional data: 19 bytes) (2 headers), size = 682 bytes])
> java.lang.ClassNotFoundException: No ClassLoaders found for: com.swps.metria.ejb.PKs.MetriaParametryUzytkownikaPK
>         at org.jboss.mx.loading.LoadMgr3.beginLoadTask(LoadMgr3.java:212)
>         at org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:511)
>         at org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:405)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
>         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Class.java:207)
>         at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:551)
>         at org.jboss.invocation.MarshalledValueInputStream.resolveClass(MarshalledValueInputStream.java:109)
>         at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1503)
>         at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1425)
>         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1616)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1264)
>         at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1593)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1261)
>         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1830)
>         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1756)
>         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1636)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1264)
>         at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1593)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1261)
>         at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1593)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1261)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:322)
>         at org.jgroups.blocks.MethodCall.readExternal(MethodCall.java:370)
>         at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1676)
>         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1634)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1264)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:322)
>         at org.jboss.ha.framework.server.HAPartitionImpl.objectFromByteBuffer(HAPartitionImpl.java:145)
>         at org.jboss.ha.framework.server.HAPartitionImpl.handle(HAPartitionImpl.java:967)
>         at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:615)
>         at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:512)
>         at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:326)
>         at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.handleUp(MessageDispatcher.java:722)
>         at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.access$300(MessageDispatcher.java:554)
>         at org.jgroups.blocks.MessageDispatcher$1.run(MessageDispatcher.java:691)
>         at java.lang.Thread.run(Thread.java:536)
> ==================================
> Our app (EJB + PKs, WAR) is packed into Metria.ear and we use jboss-app.xml:
> ==========================
> <?xml version="1.0" encoding="UTF-8"?>
> <jboss-app>
> 	<loader-repository>
> 		swps.edu.pl:loader=Metria.ear
> 		<loader-repository-config>
> 			java2ParentDelegation=true
> 		</loader-repository-config>
> 	</loader-repository>
> </jboss-app>
> ==========================
> Our app uses only cache-invalidation to propagate data modifications messages beetwen 2 servers (no clustered EJBs and no clustered HTTP sessions).
> Shouldn't the right classloader be detected automatically? Or there is something wrong with the app? Nevertheless invalidation works but there could be some potential dangerous situations.
> Best regards
> Przemek
>  

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list