JNDI lookup failing in clustered environment in JBoss-3.2.3
ashankerdas May 18, 2005 3:40 AMHi,
I have trying, without success, since the past few days, to lookup a bean in a clustered environment. I am using JBoss-3.2.3
Here is my scenario:
There are 2 nodes in my cluster. Say node1 and node2
I have a bean "MySampleBean" deployed on both the nodes and set the atttribute to "true".
The bean is bound to jndi name "MySampleBean".
I startup both the nodes. I have a standalone code on node1 which looks up "MySampleBean". I carry out the lookup as follows:
Context ctx = new InitialContext(); ctx.looup("MySampleBean");
My jndi.properties file contains the following:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
I keep getting the following error:
javax.naming.CommunicationException: Failed to retrieve stub from server 0.0.0.0:1100
Sometimes i even get "ReceiveTimedOut" error.
Can anyone suggest a solution for this?
My cluster-service.xml is as follows:
<?xml version="1.0" encoding="UTF-8"?> <!-- ===================================================================== --> <!-- --> <!-- Sample Clustering Service Configuration --> <!-- --> <!-- ===================================================================== --> <server> <classpath codebase="lib" archives="jbossha.jar"/> <!-- ==================================================================== --> <!-- Cluster Partition: defines cluster --> <!-- ==================================================================== --> <mbean code="org.jboss.ha.framework.server.ClusterPartition" name="jboss:service=DefaultPartition"> <!-- Name of the partition being built --> <attribute name="PartitionName">DefaultPartition</attribute> <!-- Determine if deadlock detection is enabled --> <attribute name="DeadlockDetection">False</attribute> <!-- The JGroups protocol configuration --> <attribute name="PartitionConfig"> <Config> <TCP start_port="7700" bind_addr="10.44.60.136"/> <TCPPING initial_hosts="10.44.60.131[7700]" port_range="1" timeout="3000" num_initial_members="1" up_thread="true" down_thread="true"/> <FD shun="true" up_thread="true" down_thread="true" timeout="2500" max_tries="5" /> <VERIFY_SUSPECT timeout="1500" up_thread="false" down_thread="false" /> <pbcast.NAKACK gc_lag="100" retransmit_timeout="3000" up_thread="true" down_thread="true" /> <pbcast.STABLE desired_avg_gossip="20000" up_thread="false" down_thread="false" /> <pbcast.GMS join_timeout="5000" join_retry_timeout="2000" shun="false" print_local_addr="false" down_thread="true" up_thread="true" /> <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/> </Config> </attribute> </mbean> <!-- ==================================================================== --> <!-- HA Session State Service for SFSB --> <!-- ==================================================================== --> <mbean code="org.jboss.ha.hasessionstate.server.HASessionStateService" name="jboss:service=HASessionState"> <depends>jboss:service=DefaultPartition</depends> <!-- Name of the partition to which the service is linked --> <attribute name="PartitionName">DefaultPartition</attribute> <!-- JNDI name under which the service is bound --> <attribute name="JndiName">/HASessionState/Default</attribute> <!-- Max delay before cleaning unreclaimed state. Defaults to 30*60*1000 => 30 minutes --> <attribute name="BeanCleaningDelay">0</attribute> </mbean> <!-- ==================================================================== --> <!-- HA JNDI --> <!-- ==================================================================== --> <mbean code="org.jboss.ha.jndi.HANamingService" name="jboss:service=HAJNDI"> <depends>jboss:service=DefaultPartition</depends> <!-- Name of the partition to which the service is linked --> <attribute name="PartitionName">DefaultPartition</attribute> <!-- bind address of HA JNDI RMI endpoint --> <attribute name="BindAddress">${jboss.bind.address}</attribute> <!-- RmiPort to be used by the HA-JNDI service once bound. 0 => auto. --> <attribute name="RmiPort">0</attribute> <!-- Port on which the HA-JNDI stub is made available --> <attribute name="Port">1100</attribute> <!-- Backlog to be used for client-server RMI invocations during JNDI queries --> <attribute name="Backlog">50</attribute> <!-- Multicast Address and Group used for auto-discovery --> <attribute name="AutoDiscoveryAddress">230.0.0.4</attribute> <attribute name="AutoDiscoveryGroup">1102</attribute> <!-- IP Address to which should be bound: the Port, the RmiPort and the AutoDiscovery multicast socket. --> <!-- Client socket factory to be used for client-server RMI invocations during JNDI queries --> <!--attribute name="ClientSocketFactory">custom</attribute--> <!-- Server socket factory to be used for client-server RMI invocations during JNDI queries --> <!--attribute name="ServerSocketFactory">custom</attribute--> </mbean> <mbean code="org.jboss.invocation.jrmp.server.JRMPInvokerHA" name="jboss:service=invoker,type=jrmpha"> <attribute name="ServerAddress">${jboss.bind.address}</attribute> <!-- <attribute name="RMIObjectPort">0</attribute> <attribute name="RMIClientSocketFactory">custom</attribute> <attribute name="RMIServerSocketFactory">custom</attribute> --> </mbean> <!-- ==================================================================== --> <!-- Distributed cache invalidation --> <!-- ==================================================================== --> <mbean code="org.jboss.cache.invalidation.bridges.JGCacheInvalidationBridge" name="jboss.cache:service=InvalidationBridge,type=JavaGroups"> <depends>jboss:service=DefaultPartition</depends> <depends>jboss.cache:service=InvalidationManager</depends> <attribute name="InvalidationManager">jboss.cache:service=InvalidationManager</attribute> <attribute name="PartitionName">DefaultPartition</attribute> <attribute name="BridgeName">DefaultJGBridge</attribute> </mbean> </server>
I am running JBoss under "all"
Thank you.