[jboss-user] [Installation, Configuration & DEPLOYMENT] - 4.2.2 MBean getClientHost java.rmi.server.ServerNotActiveExc

guy_rouillier do-not-reply at jboss.com
Tue Jun 17 16:58:26 EDT 2008


I found the following very old post but thought I'd start a new one after all this  time.

http://www.jboss.com/index.html?module=bb&op=viewtopic&t=20245

I'm upgrading some code that has run under 2.4.3 and 3.2.7 to run under 4.2.2.  The upgrade process was fairly painless.  So far, I've only run into this one runtime issue.  The architecture consists of Java clients invoking a session EJB which exists merely to forward the calls to an MBean; there's a one-to-one mapping of methods in the EJB to methods in the MBean (plus the MBean has additional code.)  This has worked fine in the previous JBoss versions.  I'm running both 3.2.7 and 4.2.2 on JDK 1.5.

With 4.2.2, I'm getting the exception "java.rmi.server.ServerNotActiveException: not in a remote call" when the MBean invokes java.rmi.server.UnicastRemoteObject.getClientHost().  If I catch this exception and just set the client host IP address to "127.0.0.1", everything continues normally:  the MBean does what it is supposed to do and returns the correct result.

What has changed in version 4 since versions 2 and 3 to produce this ServerNotActiveException?  Is this happening because the session EJB is the code contacting the MBean, and not the originating client?  Did this work before because EJBs were maintaining the client context and now 4.2.2 they are not?  Perhaps this is an aspect of EJB3?

Unfortunately, the API implemented by the EJB and MBean consists of over 60 methods, so retrofitting a separate parameter to each of them to contain the client's IP address is not really feasible.

Thanks for all ideas.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4158829#4158829

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4158829



More information about the jboss-user mailing list