Bonjour,

Je cherche a comprendre une erreur que j'obtiens en faisant un appel distant par JMX.

La syntaxe d'appel est assez simple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
        ListenersRegistryMBean proxy = (ListenersRegistryMBean) MBeanServerInvocationHandler.newProxyInstance(server, new ObjectName(LISTENER_REGISTRY_OBJ_NAME), ListenersRegistryMBean.class, false);
                 ReturnMemento rm = proxy.addListener(null);
L'erreur n'est pas reproductible dans un simple main mais uniquement dans l'appli web qui utilise ce bout de code.

Ca parle de SecurityManager comme dans ce post http://www.developpez.net/forums/d19...rmic-packages/

mais le fait de changer le SecurityManager dans mon appli web et d'avoir a modifier la politique de sécurité de l'appli ne me branche pas des masses.
Je ne comprends pas pourquoi je peux réaliser cette opération dans un main (MC4J ou la jconsole y arrive aussi) mais pas dans mon appli web.

Une idée ?

[17:04:31.662][info][talledLocalContainer] Caused by: java.rmi.UnmarshalException: java.lang.ClassNotFoundException: fr.sgf.wit.persistence.model.Listener (no security manager: RMI class loader disabled); nested exception is:
[17:04:31.662][info][talledLocalContainer] java.lang.ClassNotFoundException: fr.sgf.wit.persistence.model.Listener (no security manager: RMI class loader disabled)
[17:04:31.662][info][talledLocalContainer] at javax.management.remote.rmi.RMIConnectionImpl$6.run(RMIConnectionImpl.java:1599)
[17:04:31.677][info][talledLocalContainer] at java.security.AccessController.doPrivileged(Native Method)
[17:04:31.677][info][talledLocalContainer] at javax.management.remote.rmi.RMIConnectionImpl.unwrap(RMIConnectionImpl.java:1586)
[17:04:31.677][info][talledLocalContainer] at javax.management.remote.rmi.RMIConnectionImpl.access$600(RMIConnectionImpl.java:81)
[17:04:31.693][info][talledLocalContainer] at javax.management.remote.rmi.RMIConnectionImpl$7.run(RMIConnectionImpl.java:1631)
[17:04:31.693][info][talledLocalContainer] at java.security.AccessController.doPrivileged(Native Method)
[17:04:31.693][info][talledLocalContainer] at javax.management.remote.rmi.RMIConnectionImpl.unwrap(RMIConnectionImpl.java:1627)
[17:04:31.693][info][talledLocalContainer] at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:766)
[17:04:31.693][info][talledLocalContainer] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[17:04:31.708][info][talledLocalContainer] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[17:04:31.708][info][talledLocalContainer] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[17:04:31.708][info][talledLocalContainer] at java.lang.reflect.Method.invoke(Method.java:585)
[17:04:31.724][info][talledLocalContainer] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
[17:04:31.724][info][talledLocalContainer] at sun.rmi.transport.Transport$1.run(Transport.java:153)
[17:04:31.724][info][talledLocalContainer] at java.security.AccessController.doPrivileged(Native Method)
[17:04:31.724][info][talledLocalContainer] at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
[17:04:31.724][info][talledLocalContainer] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
[17:04:31.724][info][talledLocalContainer] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)