Urgent- JMS not working in Cluster( 3 nodes on three differe
rajesh.gajula Aug 23, 2007 9:57 AMHi Folks,
I have a cluster having threee nodes in it and EACH NODE IS CONFIGURED IN DIFFERENT SOLARIS ZONES ( i.e each node will have one hostname ) , Now we are trying to configure JMS in it by deploying the .ear file in it and i can see the JMS Queue is bound to only node suppose lets say server-2.
When i tried to access that mail sending functioality with direct app server URL rather than F5 url... only server-2 is working fine and the rest two nodes are not working and its throwing the below exception .
INFO | jvm 1 | 2007/08/20 15:44:25 | javax.naming.NameNotFoundException: queue not bound
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.jnp.server.NamingServer.getBinding(NamingServer.java:514)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.jnp.server.NamingServer.getBinding(NamingServer.java:522)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.jnp.server.NamingServer.getObject(NamingServer.java:528)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.jnp.server.NamingServer.lookup(NamingServer.java:252)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:610)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:572)
INFO | jvm 1 | 2007/08/20 15:44:25 | at javax.naming.InitialContext.lookup(InitialContext.java:351)
INFO | jvm 1 | 2007/08/20 15:44:25 | at com.ge.hc.lcd.controller.action.LcdSendMailAction.doPost(Unknown Source)
INFO | jvm 1 | 2007/08/20 15:44:25 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
INFO | jvm 1 | 2007/08/20 15:44:25 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.jboss.web.tomcat.tc5.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:81)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.jboss.web.tomcat.tc5.session.JvmRouteValve.invoke(JvmRouteValve.java:73)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.jboss.web.tomcat.tc5.sso.ClusteredSingleSignOn.invoke(ClusteredSingleSignOn.java:366)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:307)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385)
INFO | jvm 1 | 2007/08/20 15:44:25 | at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:748)
Here is the configuration i made .. :-
Queue name defined in the below config file of EACH NODE.
<JBOSS_HOME>/server/<NODE_NAME>/deploy-hasingleton/jms/jbossmq-destinations-service.xml
and Used the below tag to listen HA-JNDI while creating in code as ..
first time ..
nitialContext ctx = new InitialContext();
Properties p = new Properties();
p.put(ctx.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
p.put(ctx.URL_PKG_PREFIXES, "jboss.naming:org.jnp.interfaces");
p.put(ctx.PROVIDER_URL,"HOSTNAME:1100"); // HA-JNDI port.
new InitialContext(p);
(HOSTNAME is the JMS Queue available node address)
second time ..
Replaced the PROVIDER_URL line with ...
p.put("jnp.partitionname", "DefaultPartition"); //Partition name
But either option is not worked with each and every JBOSS app server direct URL .. its only working with one URL where the JMS Queue is configured and visible
Can you please help me to understand what are the steps i missed and mistakes made ....
Thanks in advance.
-Raj