You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Rob Davies (JIRA)" <ji...@apache.org> on 2009/09/04 20:59:19 UTC
[jira] Updated: (AMQ-2122) Active MQ Transport connector does not
appear to honor use LocalHost option
[ https://issues.apache.org/activemq/browse/AMQ-2122?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rob Davies updated AMQ-2122:
----------------------------
Fix Version/s: 5.4.0
> Active MQ Transport connector does not appear to honor use LocalHost option
> ---------------------------------------------------------------------------
>
> Key: AMQ-2122
> URL: https://issues.apache.org/activemq/browse/AMQ-2122
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.2.0
> Environment: RHEL linux Ver 5
> Reporter: Andrew
> Fix For: 5.4.0
>
>
> Config and stack trace attached
> using below config activemq broker fails to start as it is unable to resolve IP to domain name.
> using transport connector syntax from here
> http://activemq.apache.org/tcp-transport-reference.html
> <!--
> Licensed to the Apache Software Foundation (ASF) under one or more
> contributor license agreements. See the NOTICE file distributed with
> this work for additional information regarding copyright ownership.
> The ASF licenses this file to You under the Apache License, Version 2.0
> (the "License"); you may not use this file except in compliance with
> the License. You may obtain a copy of the License at
> http://www.apache.org/licenses/LICENSE-2.0
> Unless required by applicable law or agreed to in writing, software
> distributed under the License is distributed on an "AS IS" BASIS,
> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> See the License for the specific language governing permissions and
> limitations under the License.
> -->
> <!-- START SNIPPET: example -->
> <beans
> xmlns="http://www.springframework.org/schema/beans"
> xmlns:amq="http://activemq.apache.org/schema/core"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
> http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd
> http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">
> <!-- Allows us to use system properties as variables in this configuration file -->
> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
> <property name="locations">
> <value>file:///${activemq.base}/conf/credentials.properties</value>
> </property>
> </bean>
> <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.base}/data">
> <!-- Destination specific policies using destination names or wildcards -->
> <destinationPolicy>
> <policyMap>
> <policyEntries>
> <policyEntry queue=">" memoryLimit="5mb"/>
> <policyEntry topic=">" memoryLimit="5mb">
> <!-- you can add other policies too such as these
> <dispatchPolicy>
> <strictOrderDispatchPolicy/>
> </dispatchPolicy>
> <subscriptionRecoveryPolicy>
> <lastImageSubscriptionRecoveryPolicy/>
> </subscriptionRecoveryPolicy>
> -->
> </policyEntry>
> </policyEntries>
> </policyMap>
> </destinationPolicy>
> <!-- Use the following to configure how ActiveMQ is exposed in JMX -->
> <managementContext>
> <managementContext createConnector="false"/>
> </managementContext>
> <!-- The store and forward broker networks ActiveMQ will listen to -->
> <networkConnectors>
> <!-- by default just auto discover the other brokers -->
> <!-- <networkConnector name="default-nc" uri="multicast://default"/> -->
> <!-- Example of a static configuration:
> <networkConnector name="host1 and host2" uri="static://(tcp://host1:61616,tcp://host2:61616)"/>
> -->
> </networkConnectors>
> <persistenceAdapter>
> <amqPersistenceAdapter syncOnWrite="false" directory="${activemq.base}/data" maxFileLength="20 mb"/>
> </persistenceAdapter>
> <!-- Use the following if you wish to configure the journal with JDBC -->
> <!--
> <persistenceAdapter>
> <journaledJDBC dataDirectory="${activemq.base}/data" dataSource="#postgres-ds"/>
> </persistenceAdapter>
> -->
> <!-- Or if you want to use pure JDBC without a journal -->
> <!--
> <persistenceAdapter>
> <jdbcPersistenceAdapter dataSource="#postgres-ds"/>
> </persistenceAdapter>
> -->
> <sslContext>
> <sslContext keyStore="file:${activemq.base}/conf/broker.ks" keyStorePassword="password" trustStore="file:${activemq.base}/conf/broker.ts" trustStorePassword="password"/>
> </sslContext>
> <!-- The maximum about of space the broker will use before slowing down producers -->
> <systemUsage>
> <systemUsage>
> <memoryUsage>
> <memoryUsage limit="20 mb"/>
> </memoryUsage>
> <storeUsage>
> <storeUsage limit="1 gb" name="foo"/>
> </storeUsage>
> <tempUsage>
> <tempUsage limit="100 mb"/>
> </tempUsage>
> </systemUsage>
> </systemUsage>
> <!-- The transport connectors ActiveMQ will listen to -->
> <transportConnectors>
> <transportConnector name="openwire" uri="tcp://192.168.98.101:61616?useLocalHost=true" />
> <!-- <transportConnector name="openwire" uri="tcp://localhost:61616" discoveryUri="multicast://default"/>
> <transportConnector name="ssl" uri="ssl://localhost:61617"/>
> <transportConnector name="stomp" uri="stomp://localhost:61613"/>
> <transportConnector name="xmpp" uri="xmpp://localhost:61222"/> -->
> </transportConnectors>
> </broker>
> <!--
> ** Lets deploy some Enterprise Integration Patterns inside the ActiveMQ Message Broker
> ** For more details see
> **
> ** http://activemq.apache.org/enterprise-integration-patterns.html
> -->
> <camelContext id="camel" xmlns="http://activemq.apache.org/camel/schema/spring">
> <!-- You can use a <package> element for each root package to search for Java routes -->
> <package>org.foo.bar</package>
> <!-- You can use Spring XML syntax to define the routes here using the <route> element -->
> <route>
> <from uri="activemq:example.A"/>
> <to uri="activemq:example.B"/>
> </route>
> </camelContext>
> <!--
> ** Lets configure some Camel endpoints
> **
> ** http://activemq.apache.org/camel/components.html
> -->
> <!-- configure the camel activemq component to use the current broker -->
> <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent" >
> <property name="connectionFactory">
> <bean class="org.apache.activemq.ActiveMQConnectionFactory">
> <property name="brokerURL" value="vm://localhost?create=false&waitForStart=10000" />
> <property name="userName" value="${activemq.username}"/>
> <property name="password" value="${activemq.password}"/>
> </bean>
> </property>
> </bean>
> <!-- Uncomment to create a command agent to respond to message based admin commands on the ActiveMQ.Agent topic -->
> <!--
> <commandAgent xmlns="http://activemq.apache.org/schema/core" brokerUrl="vm://localhost" username="${activemq.username}" password="${activemq.password}"/>
> -->
> <!-- An embedded servlet engine for serving up the Admin console -->
> <jetty xmlns="http://mortbay.com/schemas/jetty/1.0">
> <connectors>
> <nioConnector port="8161"/>
> </connectors>
> <handlers>
> <webAppContext contextPath="/admin" resourceBase="${activemq.base}/webapps/admin" logUrlOnStart="true"/>
> <webAppContext contextPath="/demo" resourceBase="${activemq.base}/webapps/demo" logUrlOnStart="true"/>
> <webAppContext contextPath="/fileserver" resourceBase="${activemq.base}/webapps/fileserver" logUrlOnStart="true"/>
> </handlers>
> </jetty>
> <!-- This xbean configuration file supports all the standard spring xml configuration options -->
> <!-- Postgres DataSource Sample Setup -->
> <!--
> <bean id="postgres-ds" class="org.postgresql.ds.PGPoolingDataSource">
> <property name="serverName" value="localhost"/>
> <property name="databaseName" value="activemq"/>
> <property name="portNumber" value="0"/>
> <property name="user" value="activemq"/>
> <property name="password" value="activemq"/>
> <property name="dataSourceName" value="postgres"/>
> <property name="initialConnections" value="1"/>
> <property name="maxConnections" value="10"/>
> </bean>
> -->
> <!-- MySql DataSource Sample Setup -->
> <!--
> <bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
> <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
> <property name="url" value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/>
> <property name="username" value="activemq"/>
> <property name="password" value="activemq"/>
> <property name="maxActive" value="200"/>
> <property name="poolPreparedStatements" value="true"/>
> </bean>
> -->
> <!-- Oracle DataSource Sample Setup -->
> <!--
> <bean id="oracle-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
> <property name="url" value="jdbc:oracle:thin:@localhost:1521:AMQDB"/>
> <property name="username" value="scott"/>
> <property name="password" value="tiger"/>
> <property name="maxActive" value="200"/>
> <property name="poolPreparedStatements" value="true"/>
> </bean>
> -->
> <!-- Embedded Derby DataSource Sample Setup -->
> <!--
> <bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource">
> <property name="databaseName" value="derbydb"/>
> <property name="createDatabase" value="create"/>
> </bean>
> -->
> </beans>
> <!-- END SNIPPET: example -->
> 2009-01-27 16:42:43,439 [erSimpleAppMain] INFO DefaultCamelContext - JMX enabled. Using InstrumentationLifecycleStrategy.
> 2009-01-27 16:42:43,558 [erSimpleAppMain] ERROR BrokerService - Failed to resolve localhost
> 2009-01-27 16:42:44,592 [erSimpleAppMain] INFO BrokerService - Using Persistence Adapter: AMQPersistenceAdapter(/opt/activemq/data)
> 2009-01-27 16:42:44,709 [erSimpleAppMain] INFO AMQPersistenceAdapter - AMQStore starting using directory: /opt/activemq/data
> 2009-01-27 16:42:44,988 [erSimpleAppMain] INFO KahaStore - Kaha Store using data directory /opt/activemq/data/kr-store/state
> 2009-01-27 16:42:45,473 [erSimpleAppMain] INFO AMQPersistenceAdapter - Active data files: []
> 2009-01-27 16:42:45,726 [erSimpleAppMain] INFO BrokerService - ActiveMQ 5.2.0 JMS Message Broker (localhost) is starting
> 2009-01-27 16:42:45,726 [erSimpleAppMain] INFO BrokerService - For help or more information please see: http://activemq.apache.org/
> 2009-01-27 16:42:45,820 [erSimpleAppMain] INFO KahaStore - Kaha Store using data directory /opt/activemq/data/kr-store/data
> 2009-01-27 16:42:46,126 [erSimpleAppMain] 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.<init>(ResourceXmlApplicationContext.java:64)
> at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(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 [erSimpleAppMain] INFO BrokerService - ActiveMQ Message Broker (localhost, null) is shutting down
> 2009-01-27 16:42:46,129 [erSimpleAppMain] INFO TransportConnector - Connector openwire Stopped
> 2009-01-27 16:42:46,204 [erSimpleAppMain] INFO BrokerService - ActiveMQ JMS Message Broker (localhost, null) stopped
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.