[jboss-user] [JNDI/Naming/Network] - JBoss server restart and java.rmi.NoSuchObjectException: no

arunasreeram do-not-reply at jboss.com
Thu Nov 30 11:02:58 EST 2006


Hi
I am running into an issue with remote object lookup after a Jboss Server restart.
I am running JBoss 4.0.5 GA.
I have a test case that does the following -
*test client creates Init Context with properties and successfully looks up a remote EJB interface.
*test client closes init context
*test client sleeps for 45 seconds. 

*In the meanwhile the JBoss server is restarted.
 
*The test client wakes up and creates a new initial context with same props as before
*Test client tries to look up the same remote EJB interface as before.This time the look up fails with java.rmi.NoSuchObjectException: no such object in table. 
*Even if the test client looks up a different remote EJB interface the same exception is thrown

The relevant code snippet from the test client is below

  | InitialContext ctx = new InitialContext();
  | ctx.addToEnvironment("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
  | ctx.addToEnvironment("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
  | ctx.addToEnvironment(InitialContext.PROVIDER_URL,"my-hostname");
  | Object beanobj = ctx.lookup("MyService/RemoteIAdmin");
  | assertNotNull(beanobj);
  | ctx.close();
  | try {
  | 	System.out.println("Waiting for 35 seconds. Restart Jboss now!!");
  | 	Thread.sleep(45 * 1000); // wait for 30 seconds
  | 	System.out.println("Done sleeping. Will do second lookup now");
  | } catch (InterruptedException e) {
  | 	e.printStackTrace();
  | }
  | InitialContext ctx_1 = new InitialContext();
  | ctx_1.addToEnvironment("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
  | ctx_1.addToEnvironment("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
  | ctx.addToEnvironment(InitialContext.PROVIDER_URL,"my-hostname");
  | Object beanobj_1 = ctx.lookup("MyService/RemoteIAdmin");
  | assertNotNull(beanobj_1);
  | 

The exception occurs on the second lookup the stack trace is as follows
 
  | javax.naming.CommunicationException [Root exception is java.rmi.NoSuchObjectException: no such object in table]
  |         at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:722)
  |         at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
  |         at javax.naming.InitialContext.lookup(Unknown Source)
  |         ....
  | Caused by: java.rmi.NoSuchObjectException: no such object in table
  |         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.jnp.server.NamingServer_Stub.lookup(Unknown Source)
  |         at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
  |         ... 19 more
  | 
  | 
I turned on rmi debug for both server and client using -Dsun.rmi.loader.logLevel=verbose but I wasnt able to discern much from the log output

I did a bit of reading on the jboss forums and wiki but none of the solutions listed has helped me. Readings include
-http://wiki.jboss.org/wiki/Wiki.jsp?page=IGetNoSuchObjectException
-http://www.jboss.com/index.html?module=bb&op=viewtopic&t=62446
-AS


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

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



More information about the jboss-user mailing list