I try to invoke a MBeans method from a client application (a swing app outside
of the application server). I ge the the following exception:
java.io.NotSerializableException:
org.jboss.system.ServiceController$ServiceProxy
| at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
| at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369)
| at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341)
| at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
| at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
| at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369)
| at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341)
| at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
| at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
| at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
| at java.util.LinkedList.writeObject(LinkedList.java:755)
| at sun.reflect.GeneratedMethodAccessor131.invoke(Unknown Source)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:890)
| at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1333)
| at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
| at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
| at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369)
| at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341)
| at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
| at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
| at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
| at java.util.ArrayList.writeObject(ArrayList.java:569)
| at sun.reflect.GeneratedMethodAccessor78.invoke(Unknown Source)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:890)
| at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1333)
| at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
| at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
| at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
| at java.rmi.MarshalledObject.<init>(MarshalledObject.java:92)
| at
org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:424)
| at sun.reflect.GeneratedMethodAccessor134.invoke(Unknown Source)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
| at sun.rmi.transport.Transport$1.run(Transport.java:153)
| at java.security.AccessController.doPrivileged(Native Method)
| at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
| at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
| at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
| at java.lang.Thread.run(Thread.java:595)
| at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
| at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
| at sun.rmi.server.UnicastRef.invoke(Unknown Source)
| at org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown
Source)
| at
org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:133)
| at
org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:331)
| at
org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:194)
| 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.invoke(Unknown Source)
|
My source code is :
| InitialContext ctx = new InitialContext();
| MBeanServerConnection s = (MBeanServerConnection) ctx
| .lookup("jmx/invoker/RMIAdaptor");
| ObjectName deployerMBeanName = new
ObjectName("jboss.system:service=ServiceController");
| Object o = s.invoke(deployerMBeanName,
"listIncompletelyDeployed", new Object[0], new String[0]);
|
I have the same problem when I try to invoke ths method from JConsole.
It seems that some MBeans methods works fine in jmx-console but not in JConsole
due to problem of serialization.
Is is a known problem ? Is there some workaround ?
My goal was just to check if all beans have been deployed successfully.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3955557#3955557
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3955557
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user