[jboss-jira] [JBoss JIRA] Commented: (JBAS-3959) Error obtaining some MBeanInfo instances via RMIAdaptor--NotSerializableException: org.jboss.deployment.scanner.DeploymentFilter

Adrian Brock (JIRA) jira-events at jboss.com
Thu Dec 21 07:22:53 EST 2006


    [ http://jira.jboss.com/jira/browse/JBAS-3959?page=comments#action_12349189 ] 
            
Adrian Brock commented on JBAS-3959:
------------------------------------

This is fixed in JBossMX (JDK1.4)

The problem is caused by using Sun's JMX descriptor classes in JDK5 which don't contain this fix.

The issue is the "value" part of the descriptor holding the attribute value which might not
be a serializable object.

A possible workaround would be to change the XMBean descriptor of this MBean to define an interceptor stack
without the caching interceptor (another would be to disable the caching interceptor by default
- it is optional behaviour) such that the attribute values don't get stored in the descriptor.

> Error obtaining some MBeanInfo instances via RMIAdaptor--NotSerializableException: org.jboss.deployment.scanner.DeploymentFilter
> --------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: JBAS-3959
>                 URL: http://jira.jboss.com/jira/browse/JBAS-3959
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: JMX
>    Affects Versions: JBossAS-4.0.5.GA
>         Environment: Java Version 1.5.0_04 
> Java Vendor BEA Systems, Inc. 
> Java VM Name BEA JRockit(R) 
> Java VM Version R26.0.0-188-52875-1.5.0_04-20051110-0916-linux-ia64 
> Java VM Info  
> OS Name Linux 
> OS Version 2.6.9-42.EL 
> OS Arch ia64 
>            Reporter: River Zhang
>         Assigned To: Scott M Stark
>   Original Estimate: 2 hours
>  Remaining Estimate: 2 hours
>
> I meet the below error  when  runing the  jboss testsuite by " ant one-test -Dtest=org.jboss.test.jmx.test.RMIAdaptorUnitTestCase" 
> ==============
> 05:38:36,570 DEBUG [RMIAdaptorUnitTestCase] JBossTestServices(), className=org.jboss.test.jmx.test.RMIAdaptorUnitTestCase
> 05:38:36,680 DEBUG [RMIAdaptorUnitTestCase] initialContext.getEnvironment()={jnp.parsedName=, java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.provider.url=localhost:1099, java.naming.factory.url.pkgs=org.jnp.interfaces}
> 05:38:36,726 DEBUG [RMIAdaptorUnitTestCase] +++ testMBeanInfoMarshalling
> 05:38:37,722 DEBUG [SecurityAssociation] Using ThreadLocal: false
> 05:38:38,563 ERROR [RMIAdaptorUnitTestCase] Caught exception getting MBeanInfo for: jboss.deployment:type=DeploymentScanner,flavor=URL
> java.io.NotSerializableException: org.jboss.deployment.scanner.DeploymentFilter
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject(Unknown Source)
> 	at java.util.HashMap.writeObject(Unknown Source)
> 	at java.lang.LangAccessImpl.writeObject(Unknown Source)
> 	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
> 	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.access$100(Unknown Source)
> 	at java.io.ObjectOutputStream$PutFieldImpl.writeFields(Unknown Source)
> 	at java.io.ObjectOutputStream.writeFields(Unknown Source)
> 	at javax.management.modelmbean.DescriptorSupport.writeObject(DescriptorSupport.java:1398)
> 	at java.lang.LangAccessImpl.writeObject(Unknown Source)
> 	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
> 	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
> 	at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source)
> 	at javax.management.modelmbean.ModelMBeanAttributeInfo.writeObject(ModelMBeanAttributeInfo.java:536)
> 	at java.lang.LangAccessImpl.writeObject(Unknown Source)
> 	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
> 	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.writeArray(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
> 	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
> 	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject(Unknown Source)
> 	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
> 	at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
> 	at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
> 	at org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Lorg.jboss.invocation.Invocation;)Ljava.lang.Object;(Unknown Source)
> 	at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:133)
> 	at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:365)
> 	at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:197)
> 	at org.jboss.jmx.connector.invoker.client.InvokerAdaptorClientInterceptor.invoke(InvokerAdaptorClientInterceptor.java:66)
> 	at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
> 	at org.jboss.proxy.ClientMethodInterceptor.invoke(ClientMethodInterceptor.java:74)
> 	at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
> 	at $Proxy0.getMBeanInfo(Ljavax.management.ObjectName;)Ljavax.management.MBeanInfo;(Unknown Source)
> 	at org.jboss.test.jmx.test.RMIAdaptorUnitTestCase.testMBeanInfoMarshalling(RMIAdaptorUnitTestCase.java:67)
> 	at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;J)Ljava.lang.Object;(Unknown Source)
> 	at junit.framework.TestCase.runTest(TestCase.java:154)
> 	at junit.framework.TestCase.runBare(TestCase.java:127)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:297)
> 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:672)
> 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:567)

-- 
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

        



More information about the jboss-jira mailing list