Active MQ in a private network
ar1313 Jan 28, 2009 12:08 PMHello
I have been unable to get ActiveMQ to work in a system with two connected networks
in the this set up
system A has two NICs
NIC 0 connected to the public network
NIC 1 connected to a private network
I have configured AMQ to only listen on the private network for messages. I have posted the configuration below. When the host machine has a host name of either localhost or no host name then the configuration below allows AMQ broker to start. However if the host gets a host name from the public network then AMQ tries to resolve that hostname on the private interface and fails to start. This happens even when the transport uri is configured with the useLocalHost option.
Is there some basic error i am making ? We have other Apache foundation tools ( such as Tomcat ) using this configuration successfully without a problem. I have posted the config file and the strack trace below. I have tried setting the broker name as well with the same result. Is there some way to disable the host resolution of AMQ ?
thanks
<!--
Lets deploy some Enterprise Integration Patterns inside the ActiveMQ Message Broker
For more details see
-->
<!--
Lets configure some Camel endpoints
-->
2009-01-27 16:42:43,439 INFO DefaultCamelContext - JMX enabled. Using InstrumentationLifecycleStrategy.
2009-01-27 16:42:43,558 ERROR BrokerService - Failed to resolve localhost
2009-01-27 16:42:44,592 INFO BrokerService - Using Persistence Adapter: AMQPersistenceAdapter(/opt/activemq/data)
2009-01-27 16:42:44,709 INFO AMQPersistenceAdapter - AMQStore starting using directory: /opt/activemq/data
2009-01-27 16:42:44,988 INFO KahaStore - Kaha Store using data directory /opt/activemq/data/kr-store/state
2009-01-27 16:42:45,473 INFO AMQPersistenceAdapter - Active data files: []
2009-01-27 16:42:45,726 INFO BrokerService - ActiveMQ 5.2.0 JMS Message Broker (localhost) is starting
2009-01-27 16:42:45,726 INFO BrokerService - For help or more information please see: http://activemq.apache.org/
2009-01-27 16:42:45,820 INFO KahaStore - Kaha Store using data directory /opt/activemq/data/kr-store/data
2009-01-27 16:42:46,126 ERROR BrokerService - Failed to start ActiveMQ JMS Message Broker. Reason: java.io.IOException: Transport Connector could not be registered in JMX: Failed to bind to server socket: tcp://192.168.98.101:61616?useLocalHost=true due to: java.net.UnknownHostException: test_host.test_domain: test_host.test_domain
java.io.IOException: Transport Connector could not be registered in JMX: Failed to bind to server socket: tcp://192.168.98.101:61616?useLocalHost=true due to: java.net.UnknownHostException: test_host.test_domain: test_host.test_domain
at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:27)
at org.apache.activemq.broker.BrokerService.registerConnectorMBean(BrokerService.java:1434)
at org.apache.activemq.broker.BrokerService.startTransportConnector(BrokerService.java:1893)
at org.apache.activemq.broker.BrokerService.startAllConnectors(BrokerService.java:1844)
at org.apache.activemq.broker.BrokerService.start(BrokerService.java:480)
at org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:52)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1368)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
at org.apache.xbean.spring.context.ResourceXmlApplicationContext.(ResourceXmlApplicationContext.java:52)
at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:96)
at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:52)
at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)
at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)
at org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:115)
at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:74)
at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:129)
at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.activemq.console.Main.runTaskClass(Main.java:225)
at org.apache.activemq.console.Main.main(Main.java:106)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Failed to bind to server socket: tcp://192.168.98.101:61616?useLocalHost=true due to: java.net.UnknownHostException: test_host.test_domain: test_host.test_domain
at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:33)
at org.apache.activemq.transport.tcp.TcpTransportServer.bind(TcpTransportServer.java:141)
at org.apache.activemq.transport.tcp.TcpTransportFactory.doBind(TcpTransportFactory.java:60)
at org.apache.activemq.transport.TransportFactory.bind(TransportFactory.java:131)
at org.apache.activemq.broker.TransportConnector.createTransportServer(TransportConnector.java:293)
at org.apache.activemq.broker.TransportConnector.getServer(TransportConnector.java:135)
at org.apache.activemq.broker.TransportConnector.asManagedConnector(TransportConnector.java:98)
at org.apache.activemq.broker.BrokerService.registerConnectorMBean(BrokerService.java:1428)
... 42 more
Caused by: java.net.UnknownHostException: test_host.test_domain: test_host.test_domain
at java.net.InetAddress.getLocalHost(Unknown Source)
at org.apache.activemq.transport.tcp.TcpTransportServer.bind(TcpTransportServer.java:133)
... 48 more
2009-01-27 16:42:46,129 INFO BrokerService - ActiveMQ Message Broker (localhost, null) is shutting down
2009-01-27 16:42:46,129 INFO TransportConnector - Connector openwire Stopped
2009-01-27 16:42:46,204 INFO BrokerService - ActiveMQ JMS Message Broker (localhost, null) stopped