Hi,

Using Tomcat 5.5.27 with JDK 1.5.0_11, I'm trying to retrieve the attribute
"manager" from the MBean
"Catalina:J2EEApplication=none,J2EEServer=none,j2eeType=WebModule,name=//localhost/".
But I'm getting thre following error.

Exception in thread "main" java.rmi.UnmarshalException: error unmarshalling
return; nested exception is:
java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException:
org.apache.catalina.session.StandardManager
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:157)
at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
at javax.management.remote.rmi.RMIConnectionImpl_Stub.getAttribute(Unknown
Source)
at
javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:857)
at test.jmx.JmxTest.main(JmxTest.java:37)
Caused by: java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException:
org.apache.catalina.session.StandardManager
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1309)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:139)
... 4 more
Caused by: java.io.NotSerializableException:
org.apache.catalina.session.StandardManager
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:258)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:304)
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:466)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
I attach to this mail a sample that able to reproduce this. In fact I would
like to know how to retrieve this Class, I hope that this class implement
Serializable otherwise I don't know why StandardManager is exposed as Jmx
Attribute.

Additionnaly, when I try to retrieve an attribute like "managedResource"
from the MBean "Catalina:host=localhost,type=Host". I got the following
execption
Exception in thread "main" java.rmi.UnmarshalException: error unmarshalling
return; nested exception is:
 java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException: org.apache.catalina.util.LifecycleSupport
 at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:157)
 at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
 at javax.management.remote.rmi.RMIConnectionImpl_Stub.getAttribute(Unknown
Source)
 at
javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:857)
 at test.jmx.JmxTest.main(JmxTest.java:36)

see attached file for complete stacktrace.

Regards,

Emmanuel
/**
 * 
 */
package test.jmx;

import java.util.Hashtable;

import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;

import org.apache.catalina.Manager;

/**
 * @author xbi0bnv
 * 
 */
public class JmxTest {

    /**
     * @param args
     */
    public static void main(String[] args) throws Exception {
        JMXServiceURL serviceURL = new 
JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:21205/jmxrmi");

        Hashtable h = new Hashtable();
        h.put(JMXConnector.CREDENTIALS, new String[] { "controlRole", "tomcat" 
});

        JMXConnector connector = JMXConnectorFactory.connect(serviceURL, h);

        MBeanServerConnection connection = connector.getMBeanServerConnection();

        ObjectName oName = new 
ObjectName("Catalina:J2EEApplication=none,J2EEServer=none,j2eeType=WebModule,name=//localhost/");
        Manager manager = (Manager) connection.getAttribute(oName, "manager");
        System.out.println(manager.getInfo());

    }

}
Exception in thread "main" java.rmi.UnmarshalException: error unmarshalling 
return; nested exception is: 
        java.io.WriteAbortedException: writing aborted; 
java.io.NotSerializableException: org.apache.catalina.util.LifecycleSupport
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:157)
        at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
        at 
javax.management.remote.rmi.RMIConnectionImpl_Stub.getAttribute(Unknown Source)
        at 
javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:857)
        at test.jmx.JmxTest.main(JmxTest.java:36)
Caused by: java.io.WriteAbortedException: writing aborted; 
java.io.NotSerializableException: org.apache.catalina.util.LifecycleSupport
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1309)
        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 java.util.HashMap.readObject(HashMap.java:1067)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at 
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
        at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
        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 java.util.HashMap.readObject(HashMap.java:1067)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at 
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
        at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
        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 sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290)
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:139)
        ... 4 more
Caused by: java.io.NotSerializableException: 
org.apache.catalina.util.LifecycleSupport
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
        at java.util.HashMap.writeObject(HashMap.java:1039)
        at sun.reflect.GeneratedMethodAccessor47.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:917)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
        at java.util.HashMap.writeObject(HashMap.java:1039)
        at sun.reflect.GeneratedMethodAccessor47.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:917)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
        at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:258)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:304)
        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:466)
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
        at java.lang.Thread.run(Thread.java:595)
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to