[JBoss JIRA] Created: (JBCLUSTER-150) CNFE issues with Hibernate and JBoss Cache
by Brian Stansberry (JIRA)
CNFE issues with Hibernate and JBoss Cache
------------------------------------------
Key: JBCLUSTER-150
URL: http://jira.jboss.com/jira/browse/JBCLUSTER-150
Project: JBoss Clustering
Issue Type: Bug
Security Level: Public (Everyone can see)
Reporter: Brian Stansberry
Assigned To: Brian Stansberry
Fix For: Q4Y6
Hibernate w/ JBC as 2nd level cache can potentially place instances of custom user classes in the cache. Can happen if the query cache is used, since instances of custom classes can be parameters to queries.
This leads to replication or state transfer problems like the following if the custom classes are not visible to JBC's classloader (i.e. the custom classes aren't in server/all/lib). For regular entity caching, Hibernate stores primitives in the cache, so this is less of an issue. Problem is more with the query cache.
java.lang.ClassNotFoundException: No ClassLoaders found for: services.entities.ProductDemandPK
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:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:585)
at org.jboss.invocation.MarshalledValueInputStream.resolveClass(MarshalledValueInputStream.j
ava:109)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1544)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at org.jboss.cache.Fqn.readExternal(Fqn.java:355)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1755)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1717)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at org.jboss.cache.loader.NodeData.readExternal(NodeData.java:59)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1755)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1717)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at org.jboss.cache.statetransfer.StateTransferIntegrator_140.integrateStateTransferChildren(
StateTransferIntegrator_140.java:241)
at org.jboss.cache.statetransfer.StateTransferIntegrator_140.integrateStateTransferChildren(
StateTransferIntegrator_140.java:271)
at org.jboss.cache.statetransfer.StateTransferIntegrator_140.integrateStateTransferChildren(
StateTransferIntegrator_140.java:271)
at org.jboss.cache.statetransfer.StateTransferIntegrator_140.integrateStateTransferChildren(
StateTransferIntegrator_140.java:271)
at org.jboss.cache.statetransfer.StateTransferIntegrator_140.integrateTransientState(StateTr
ansferIntegrator_140.java:222)
at org.jboss.cache.statetransfer.StateTransferIntegrator_140.integrateTransientState(StateTr
ansferIntegrator_140.java:97)
at org.jboss.cache.TreeCache._setState(TreeCache.java:2640)
at org.jboss.cache.TreeCache.access$000(TreeCache.java:86)
at org.jboss.cache.TreeCache$MessageListenerAdaptor.setState(TreeCache.java:5306)
at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.passUp(MessageDispatcher.java:614)
at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:331)
at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.handleUp(MessageDispatcher.java:722)
at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.access$300(MessageDispatcher.java:55
4)
at org.jgroups.blocks.MessageDispatcher$1.run(MessageDispatcher.java:691)
at java.lang.Thread.run(Thread.java:595)
JBC's region-based marshalling API is meant for dealing with this kind of thing. Need to see how Hibernate can be configured to work with this API. Expect this will lead to JIRAs in the Hibernate and possible EBJ3 project.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 6 months
[JBoss JIRA] Created: (JBAS-4448) Properties MBean attribues don't update properly
by John Mazzitelli (JIRA)
Properties MBean attribues don't update properly
------------------------------------------------
Key: JBAS-4448
URL: http://jira.jboss.com/jira/browse/JBAS-4448
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: JBossAS-4.2.0.GA
Reporter: John Mazzitelli
Priority: Minor
I have this in my jboss-service.xml for a custom MBean that has a Properties attribute:
<attribute name="ConfigurationOverrides" serialDataType="jbxb">
<java:properties xmlns:java="urn:jboss:java-properties"
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:schemaLocation="urn:jboss:java-properties resource:java-properties_1_0.xsd">
<java:property>
<java:key>my-data-directory</java:key>
<java:value>${jboss.server.data.dir}/subdir</java:value>
</java:property>
... and more java:property definitions ...
I have other non-Properties attributes in my MBean as well.
This works fine when starting up. My MBean's setConfigurationOverrides(Properties p) method is called with proper values and everything works.
However, if I go to the JMX console, and edit one of my other attributes (simple String attribute), it seems my Properties attribute gets hosed - its values are all screwed up.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 6 months