ActiveMQ java.net.URISyntaxException: Illegal character in hostname 异常

本文记录了一次Apache ActiveMQ启动失败的问题排查过程,主要原因是由于主机名配置不正确导致,通过修改/etc/sysconfig/network中的HOSTNAME设置及相应的/etc/hosts文件,成功解决了启动错误。
2014-03-26 10:35:45,760 | ERROR | Failed to start Apache ActiveMQ ([localhost, ID:wx_amp01-59836-1395801345508-0:1], java.net.URISyntaxException: Illegal character in hostname at index 7: ws
://wx_amp01:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600) | org.apache.activemq.broker.BrokerService | main
2014-03-26 10:35:45,762 | INFO  | Apache ActiveMQ 5.9.0 (localhost, ID:wx_amp01-59836-1395801345508-0:1) is shutting down | org.apache.activemq.broker.BrokerService | main
2014-03-26 10:35:47,682 | INFO  | Connector openwire stopped | org.apache.activemq.broker.TransportConnector | main
2014-03-26 10:35:47,700 | INFO  | Connector amqp stopped | org.apache.activemq.broker.TransportConnector | main
2014-03-26 10:35:47,720 | INFO  | Connector stomp stopped | org.apache.activemq.broker.TransportConnector | main
2014-03-26 10:35:47,723 | INFO  | Connector mqtt stopped | org.apache.activemq.broker.TransportConnector | main
2014-03-26 10:35:47,724 | INFO  | Connector ws stopped | org.apache.activemq.broker.TransportConnector | main
2014-03-26 10:35:47,729 | INFO  | PListStore:[/home/mq/apache-activemq-5.9.0/data/localhost/tmp_storage] stopped | org.apache.activemq.store.kahadb.plist.PListStoreImpl | main
2014-03-26 10:35:47,730 | INFO  | Stopping async queue tasks | org.apache.activemq.store.kahadb.KahaDBStore | main
2014-03-26 10:35:47,731 | INFO  | Stopping async topic tasks | org.apache.activemq.store.kahadb.KahaDBStore | main
2014-03-26 10:35:47,732 | INFO  | Stopped KahaDB | org.apache.activemq.store.kahadb.KahaDBStore | main
2014-03-26 10:35:47,975 | INFO  | Apache ActiveMQ 5.9.0 (localhost, ID:wx_amp01-59836-1395801345508-0:1) uptime 3.032 seconds | org.apache.activemq.broker.BrokerService | main
2014-03-26 10:35:47,977 | INFO  | Apache ActiveMQ 5.9.0 (localhost, ID:wx_amp01-59836-1395801345508-0:1) is shutdown | org.apache.activemq.broker.BrokerService | main
2014-03-26 10:35:47,978 | INFO  | Closing org.apache.activemq.xbean.XBeanBrokerFactory$1@2bb5340c: startup date [Wed Mar 26 10:35:43 CST 2014]; root of context hierarchy | org.apache.activem
q.xbean.XBeanBrokerFactory$1 | main
2014-03-26 10:35:47,982 | WARN  | Exception thrown from LifecycleProcessor on context close | org.apache.activemq.xbean.XBeanBrokerFactory$1 | main
java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: org.apache.activemq.xbean.XBeanBrokerFactory$1@2bb5340
c: startup date [Wed Mar 26 10:35:43 CST 2014]; root of context hierarchy
        at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:360)
        at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1057)
        at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1010)
        at org.apache.activemq.hooks.SpringContextHook.run(SpringContextHook.java:30)
        at org.apache.activemq.broker.BrokerService.stop(BrokerService.java:782)
        at org.apache.activemq.xbean.XBeanBrokerService.stop(XBeanBrokerService.java:122)
        at org.apache.activemq.broker.BrokerService.start(BrokerService.java:574)
        at org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:73)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1608)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1549)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1479)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:628)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
        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$1.<init>(XBeanBrokerFactory.java:104)
        at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:104)
        at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:67)
        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.runTask(StartCommand.java:87)
        at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
        at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:150)
        at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
        at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:104)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.activemq.console.Main.runTaskClass(Main.java:262)
        at org.apache.activemq.console.Main.main(Main.java:115)

 上述异常是因为hostname不合法,解决办法:

 编辑文件: /etc/sysconfig/network

 修改: HOSTNAME=new-hostname.domainname

 修改:/etc/hosts  添加:IP      hostname行

重启linux机器:reboot

 

Java Runtime: Oracle Corporation 1.7.0_99 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0. 99.x86_64/jre Heap sizes: current=984576k free=974274k max=14603776k JVM args: -Dactivemq.classpath=/opt/activemq/conf; -Dactivemq.home=/opt/acti vemq -Dactivemq.base=/opt/activemq -Dactivemq.conf=/opt/activemq/conf -Dactivemq .data=/opt/activemq/data -Djava.io.tmpdir=/opt/activemq/tmp Extensions classpath: [/opt/activemq/lib,/opt/activemq/lib/camel,/opt/activemq/lib/optional,/opt/act ivemq/lib/web,/opt/activemq/lib/extra] ACTIVEMQ_HOME: /opt/activemq ACTIVEMQ_BASE: /opt/activemq ACTIVEMQ_CONF: /opt/activemq/conf ACTIVEMQ_DATA: /opt/activemq/data Connecting to JMX URL: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi ERROR: java.lang.RuntimeException: Failed to execute purge task. Reason: java.io .IOException: Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailable Exception [Root exception is java.rmi.ConnectException: Connection refused to ho st: localhost; nested exception is: java.net.ConnectException: Connection refused] java.lang.RuntimeException: Failed to execute purge task. Reason: java.io.IOExce ption: Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableExcepti on [Root exception is java.rmi.ConnectException: Connection refused to host: loc alhost; nested exception is: java.net.ConnectException: Connection refused] at org.apache.activemq.console.command.PurgeCommand.runTask(PurgeCommand .java:130) at org.apache.activemq.console.command.AbstractCommand.execute(AbstractC ommand.java:57) at org.apache.activemq.console.command.AbstractJmxCommand.execute(Abstra ctJmxCommand.java:385) at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand .java:148) at org.apache.activemq.console.command.AbstractCommand.execute(AbstractC ommand.java:57) at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.ja va:90) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.activemq.console.Main.runTaskClass(Main.java:262) at org.apache.activemq.console.Main.main(Main.java:115) ERROR: java.lang.Exception: java.io.IOException: Failed to retrieve RMIServer st ub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.Connect Exception: Connection refused to host: localhost; nested exception is: java.net.ConnectException: Connection refused] java.lang.Exception: java.io.IOException: Failed to retrieve RMIServer stub: jav ax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectExcepti on: Connection refused to host: localhost; nested exception is: java.net.ConnectException: Connection refused] at org.apache.activemq.console.command.PurgeCommand.runTask(PurgeCommand .java:131) at org.apache.activemq.console.command.AbstractCommand.execute(AbstractC ommand.java:57) at org.apache.activemq.console.command.AbstractJmxCommand.execute(Abstra ctJmxCommand.java:385) at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand .java:148) at org.apache.activemq.console.command.AbstractCommand.execute(AbstractC ommand.java:57) at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.ja va:90) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.activemq.console.Main.runTaskClass(Main.java:262) at org.apache.activemq.console.Main.main(Main.java:115) Caused by: java.io.IOException: Failed to retrieve RMIServer stub: javax.naming. ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connec tion refused to host: localhost; nested exception is: java.net.ConnectException: Connection refused] at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:37 0) at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFacto ry.java:268) at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFacto ry.java:227) at org.apache.activemq.console.command.AbstractJmxCommand.createJmxConne ctor(AbstractJmxCommand.java:279) at org.apache.activemq.console.command.AbstractJmxCommand.createJmxConne ction(AbstractJmxCommand.java:302) at org.apache.activemq.console.command.PurgeCommand.runTask(PurgeCommand .java:89) ... 11 more Caused by: javax.naming.ServiceUnavailableException [Root exception is java.rmi. ConnectException: Connection refused to host: localhost; nested exception is: java.net.ConnectException: Connection refused] at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java :118) at com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.j ava:203) at javax.naming.InitialContext.lookup(InitialContext.java:411) at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnect or.java:1928) at javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.j ava:1895) at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:28 7) ... 16 more Caused by: java.rmi.ConnectException: Connection refused to host: localhost; nes ted exception is: java.net.ConnectException: Connection refused at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216 ) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:341) at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java :114) ... 21 more Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.ja va:339) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocket Impl.java:200) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java :182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:579) at java.net.Socket.connect(Socket.java:528) at java.net.Socket.<init>(Socket.java:425) at java.net.Socket.<init>(Socket.java:208) at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirect SocketFactory.java:40) at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMaster SocketFactory.java:147) at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613) ... 26 more
最新发布
09-17
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值