I have a problem with cluster (HA) JNDI lookups in JBoss 4.0.1SP1.

We start 2 RMI based services and bind them in JNDI using the following code


  | String partitionName = System.getProperty(PROP_JBOSS_PARTITION, 
DEFAULT_JBOSS_PARTITION_NAME);
  | InitialContext context = new InitialContext();
  | // ...
  | context.bind("TLDServerWorking", rmiServerWorking);
  | ...
  | context.bind("TLDServerLive", rmiServerLive);
  | 

Some other applications running in the same JBoss cluster partition should 
lookup this RMI server using the following code:


  | Properties props = new Properties();
  | props.setProperty("java.naming.factory.initial", 
"org.jnp.interfaces.NamingContextFactory");
  | props.setProperty("java.naming.provider.url", "jnp://localhost:8282/");     
// HA JNDI port
  | InitialContext rpcContext = new InitialContext(props);
  | // ...  
  | this.RMIServer = (FTRMIServer) rpcContext.lookup(name);
  | 

So we bind the services using the local JNDI tree and we do the lookup using 
the HA JNDI tree. Fro all documentation we found so far, this seems to be the 
way to do it in a clustered JBoss. Please correct me, if I am wrong.

We already saw this code working, but this seems to be quite instable. 
Sometimes (in most cases) the lookup fails with NameNotFound.

To track down the problem we used twiddle to view the JNDI trees and this shows 
very strange effects. You get different results if you call it multiple times:

First call:

  | >twiddle.bat -s localhost:8382 invoke "jboss:service=JNDIView" list true
  | ...
  | <h1>Global JNDI Namespace</h1>
  | <pre>
  |   +- TLDServerLive (class: com.poet.xs.tld.server.RMIServer)
  |   +- jmx (class: org.jnp.interfaces.NamingContext)
  |   |   +- invoker (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- RMIAdaptor (proxy: $Proxy13 implements interface 
org.jboss.jmx.adaptor.rmi.RMIAdaptor,interface 
org.jboss.jmx.adaptor.rmi.RMIAdaptorExt,interface 
org.jboss.proxy.IClientContainer)
  |   |   +- rmi (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- RMIAdaptor[link -> jmx/invoker/RMIAdaptor] (class: 
javax.naming.LinkRef)
  |   +- HAPartition (class: org.jnp.interfaces.NamingContext)
  |   |   +- EC_1120654668872 (class: 
org.jboss.ha.framework.server.HAPartitionImpl)
  |   +- HASessionState (class: org.jnp.interfaces.NamingContext)
  |   |   +- Default (class: 
org.jboss.ha.hasessionstate.server.HASessionStateImpl)
  | </pre>
  | 

Later call:

  | >twiddle.bat -s localhost:8382 invoke "jboss:service=JNDIView" list true
  | ...
  | <h1>Global JNDI Namespace</h1>
  | <pre>
  |   +- TLDServerLive (class: com.poet.xs.tld.server.RMIServer)
  |   +- jmx (class: org.jnp.interfaces.NamingContext)
  |   |   +- invoker (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- RMIAdaptor (proxy: $Proxy13 implements interface 
org.jboss.jmx.adaptor.rmi.RMIAdaptor,interface 
org.jboss.jmx.adaptor.rmi.RMIAdaptorExt,interface 
org.jboss.proxy.IClientContainer)
  |   |   +- rmi (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- RMIAdaptor[link -> jmx/invoker/RMIAdaptor] (class: 
javax.naming.LinkRef)
  |   +- TLDServerWorking (class: com.poet.xs.tld.server.RMIServer)
  |   +- HAPartition (class: org.jnp.interfaces.NamingContext)
  |   |   +- EC_1120654668872 (class: 
org.jboss.ha.framework.server.HAPartitionImpl)
  |   +- HASessionState (class: org.jnp.interfaces.NamingContext)
  |   |   +- Default (class: 
org.jboss.ha.hasessionstate.server.HASessionStateImpl)
  | </pre>
  | 


Can anybody give me an explanation for this?
Something to check in the configuration?

Thanks for any help.

/Klaus

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

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


-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP,
AMD, and NVIDIA.  To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to