Not able to connect to Remote HornetQ
nnanda Apr 15, 2010 1:53 AMHi,
I have deployed HornetQ (2.0) within JBoss 5.1 AS and the server is started by binding itself to "my.corp.com" Host name. This JBoss instance is running on a remote server. Now when I am trying to connect it from my machine (which is remote to the server), I am getting following exception
javax.jms.JMSException: Unable to connect to server using configuration org-hornetq-integration-transports-netty-NettyConnectorFactory?host=my-corp-com&port=4350
Following are my configurations:
hornetq-configuration.xml
<connectors>
<connector name="netty">
<factory-class>org.hornetq.integration.transports.netty.NettyConnectorFactory</factory-class>
<param key="host" value="${jboss.bind.address}"/>
<param key="port" value="4085"/>
</connector>
<!--<connector name="in-vm">
<factory-class>org.hornetq.core.remoting.impl.invm.InVMConnectorFactory</factory-class>
</connector> -->
</connectors>
<acceptors>
<acceptor name="netty">
<factory-class>org.hornetq.integration.transports.netty.NettyAcceptorFactory</factory-class>
<param key="host" value="${jboss.bind.address}"/>
<param key="port" value="4350"/>
</acceptor>
<!--<acceptor name="in-vm">
<factory-class>org.hornetq.core.remoting.impl.invm.InVMAcceptorFactory</factory-class>
<param key="server-id" value="0"/>
</acceptor> -->
</acceptors>
My Client Program
public static void main(String[] args) {
try {
QueueConnection queueConnection = null;
QueueSession queueSession = null;
try {
long startTime = System.currentTimeMillis();
final Context initialContext = new InitialContext(getJNDIProerties());
QueueConnectionFactory connFactory = (QueueConnectionFactory) initialContext.lookup("/ConnectionFactory");
logger.debug("{}", connFactory);
Queue jmsQueue = (Queue) initialContext.lookup("/queue/AdrLoggerQueue");
if(null != jmsQueue) {
logger.debug("Got reference of a queue...");
}
queueConnection = connFactory.createQueueConnection();
queueSession = queueConnection.createQueueSession(false, Session.DUPS_OK_ACKNOWLEDGE);
logger.debug("Time taken to get connection and session --> {} {}", (System.currentTimeMillis() - startTime), "ms");
MessageProducer producer = queueSession.createSender(jmsQueue);
} finally {
if(null != queueSession) {
queueSession.close();
}
if(null != queueConnection) {
queueConnection.close();
}
}
} catch(Exception e) {
logger.error("Exception... ", e);
}
}
private static Properties getJNDIProerties() {
logger.debug("getJNDIProerties : START");
final Properties jndiProperties = new Properties();
jndiProperties.put(Context.PROVIDER_URL, "jnp://my.corp.com:1218");
jndiProperties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
jndiProperties.put(Context.URL_PKG_PREFIXES, "java.naming.factory.url.pkgs");
logger.debug("getJNDIProerties : END");
return jndiProperties;
}
I am getting following exception for the statement "queueConnection = connFactory.createQueueConnection();"
2010-04-14 22:34:29,582 DEBUG [jms.JMSMessagePublishTest] - getJNDIProerties : START
2010-04-14 22:34:29,582 DEBUG [jms.JMSMessagePublishTest] - getJNDIProerties : END
2010-04-14 22:34:29,610 DEBUG [org.jnp.interfaces.TimedSocketFactory] - createSocket, hostAddr: my.corp.com/17.108.171.76, port: 1218, localAddr: null, localPort: 0, timeout: 0
2010-04-14 22:34:30,082 DEBUG [jms.JMSMessagePublishTest] - org.hornetq.jms.client.HornetQConnectionFactory@e90943
2010-04-14 22:34:30,170 DEBUG [jms.JMSMessagePublishTest] - Got reference of a queue...
2010-04-14 22:34:30,369 ERROR [jms.JMSMessagePublishTest] - Exception...
javax.jms.JMSException: Unable to connect to server using configuration org-hornetq-integration-transports-netty-NettyConnectorFactory?host=my-corp-com&port=4350
at org.hornetq.core.client.impl.FailoverManagerImpl.createSession(FailoverManagerImpl.java:341)
at org.hornetq.core.client.impl.ClientSessionFactoryImpl.createSessionInternal(ClientSessionFactoryImpl.java:1063)
at org.hornetq.core.client.impl.ClientSessionFactoryImpl.createSession(ClientSessionFactoryImpl.java:790)
at org.hornetq.jms.client.HornetQConnection.authorize(HornetQConnection.java:558)
at org.hornetq.jms.client.HornetQConnectionFactory.createConnectionInternal(HornetQConnectionFactory.java:602)
at org.hornetq.jms.client.HornetQConnectionFactory.createQueueConnection(HornetQConnectionFactory.java:128)
at org.hornetq.jms.client.HornetQConnectionFactory.createQueueConnection(HornetQConnectionFactory.java:123)
at jms.JMSMessagePublishTest.main(JMSMessagePublishTest.java:58)
Caused by: HornetQException[errorCode=2 message=Unable to connect to server using configuration org-hornetq-integration-transports-netty-NettyConnectorFactory?host=my-corp-com&port=4350]
... 8 more