how does EJB not on JBoss connect to remoteMBean Server?
bounz Aug 13, 2002 4:31 AMi use RMIConnectorImpl in ejb to connect remote mbean server within an Agent
This is my Agent with a mbean server:
MBeanServer lServer = MBeanServerFactory.createMBeanServer();
ObjectName lNamingName = new ObjectName(lServer.getDefaultDomain(), "service", "naming");
org.jboss.naming.NamingService na = new NamingService();
lServer.registerMBean(na,lNamingName);
na.setPort(1002);
lServer.invoke(lNamingName, "create", new Object[0], new String[0]);
lServer.invoke(lNamingName, "start", new Object[0], new String[0]);
ObjectName lConnectorName = new ObjectName(lServer.getDefaultDomain(), "service", "RMIAdaptor");
lServer.createMBean ("org.jboss.jmx.adaptor.rmi.
RMIAdaptorService", lConnectorName);
lServer.invoke(lConnectorName, "create", new Object[0], new String[0]);
lServer.invoke(lConnectorName, "start", new Object[0], new String[0]);
This is my ejb's ejbCreate() code:
InitialContext ctx = null;
Properties env = new Properties();
env.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
int serverPort = 1002;
env.setProperty("java.naming.provider.url", "BOUNZ:"+serverPort);
env.setProperty("java.naming.factory.url.pkgs", "org.jnp.interfaces");
ctx = new InitialContext(env);
java.util.Hashtable lProperties = ctx.getEnvironment();
RMIAdaptor mRemoteAdaptor = (RMIAdaptor)ctx.lookup("jmx:" + "BOUNZ" + ":rmi");
lConnector = new RMIConnectorImpl (mRemoteAdaptor");
the above is work fine when one client connect to remote mbean server , but have error when one ejb connect to remote mbean server
the error on the sun RI j2ee server
java.security.AccessControlException: access denied (java.net.SocketPermission l
ocalhost:1024- listen,resolve)
at java.security.AccessControlContext.checkPermission(AccessControlConte
xt.java:270)
at java.security.AccessController.checkPermission(AccessController.java:
401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.SecurityManager.checkListen(SecurityManager.java:1128)
at java.net.DatagramSocket.bind(DatagramSocket.java:326)
at java.net.DatagramSocket.(DatagramSocket.java:129)
at org.jnp.interfaces.NamingContext.discoverServer(NamingContext.java:91
5)
at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1006)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:441)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:434)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at com.ccl.oam.management.agent.ejbConnector.createRMS(ejbConnector.java
:86)
at org.jboss.management.mejb.ManagementBean.ejbCreate(ManagementBean.jav
a:351)
at org.jboss.management.mejb.ManagementBean_RemoteHomeImpl.create(Manage
mentBean_RemoteHomeImpl.java:23)
at org.jboss.management.mejb._ManagementBean_RemoteHomeImpl_Tie._invoke(
Unknown Source)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(Ge
nericPOAServerSC.java:520)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(Gen
ericPOAServerSC.java:210)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAS
erverSC.java:112)
at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:255)
at com.sun.corba.ee.internal.iiop.RequestProcessor.process(RequestProces
sor.java:84)
at com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThread.run(ThreadP
ool.java:99)
createNew!!!!!!!!!!!!!!!!!
!!! Could not get MBeanInfo object for !!!
java.lang.NullPointerException
at com.ccl.oam.management.agent.ejbConnector.createNew(ejbConnector.java
:148)
at com.ccl.oam.management.agent.ejbConnector.wantDO(ejbConnector.java:59
)
at org.jboss.management.mejb.ManagementBean.ejbCreate(ManagementBean.jav
a:352)
at org.jboss.management.mejb.ManagementBean_RemoteHomeImpl.create(Manage
mentBean_RemoteHomeImpl.java:23)
at org.jboss.management.mejb._ManagementBean_RemoteHomeImpl_Tie._invoke(
Unknown Source)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(Ge
nericPOAServerSC.java:520)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(Gen
ericPOAServerSC.java:210)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAS
erverSC.java:112)
at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:255)
at com.sun.corba.ee.internal.iiop.RequestProcessor.process(RequestProces
sor.java:84)
at com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThread.run(ThreadP
ool.java:99)