<分区> 分区>
我是第一次尝试设置 Apache ActiveMQ
我发现我的服务器名称中有一个下划线,这会阻止 ActiveMQ 启动。它抛出这个异常:
java.net.URISyntaxException: Illegal character in hostname at index 8: ws://cms_delta.mycompany.com:61614? maximumConnections=1000&wireFormat.maxFrameSize=104857600) ...
我在哪里可以在配置中设置主机名。此服务器有其他不带下划线的别名,或者我可以使用 IP 地址。正在自动获取服务器名称 cms_delta.mycompany.com。
除了 brokerName,我在 activemq.xml 中没有看到任何明显的东西,但这并没有解决问题。
这是完整的日志:
2013-11-14 14:30:02,347 | INFO | Refreshing org.apache.activemq.xbean.XBeanBrokerFactory$1@54520eb: startup date [Thu Nov 14 14:30:02 PST 2013]; root of context hierarchy | org.apache.activemq.xbean.XBeanBrokerFactory$1 | main
2013-11-14 14:30:04,100 | INFO | PListStore:[/opt/apache-activemq-5.9.0/data/esb-dev.mycompany.com/tmp_storage] started | org.apache.activemq.store.kahadb.plist.PListStoreImpl | main
2013-11-14 14:30:04,154 | INFO | Using Persistence Adapter: KahaDBPersistenceAdapter[/opt/apache-activemq-5.9.0/data/kahadb] | org.apache.activemq.broker.BrokerService | main
2013-11-14 14:30:04,475 | INFO | Persistence store purged. | org.apache.activemq.store.kahadb.MessageDatabase | main
2013-11-14 14:30:04,678 | INFO | Apache ActiveMQ 5.9.0 (esb-dev.mycompany.com, ID:cms_delta.mycompany.com-35039-1384468204550-0:1) is starting | org.apache.activemq.broker.BrokerService | main
2013-11-14 14:30:04,697 | INFO | Listening for connections at: tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600 | org.apache.activemq.transport.TransportServerThreadSupport | main
2013-11-14 14:30:04,699 | INFO | Connector openwire started | org.apache.activemq.broker.TransportConnector | main
2013-11-14 14:30:04,704 | INFO | Listening for connections at: amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600 | org.apache.activemq.transport.TransportServerThreadSupport | main
2013-11-14 14:30:04,707 | INFO | Connector amqp started | org.apache.activemq.broker.TransportConnector | main
2013-11-14 14:30:04,712 | INFO | Listening for connections at: stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600 | org.apache.activemq.transport.TransportServerThreadSupport | main
2013-11-14 14:30:04,734 | INFO | Connector stomp started | org.apache.activemq.broker.TransportConnector | main
2013-11-14 14:30:04,738 | INFO | Listening for connections at: mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600 | org.apache.activemq.transport.TransportServerThreadSupport | main
2013-11-14 14:30:04,739 | INFO | Connector mqtt started | org.apache.activemq.broker.TransportConnector | main
2013-11-14 14:30:04,853 | ERROR | Failed to start Apache ActiveMQ ([esb-dev.mycompany.com, ID:cms_delta.mycompany.com-35039-1384468204550-0:1], java.net.URISyntaxException: Illegal character in hostname at index 8: ws://cms_delta.mycompany.com:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600) | org.apache.activemq.broker.BrokerService | main
2013-11-14 14:30:04,854 | INFO | Apache ActiveMQ 5.9.0 (esb-dev.mycompany.com, ID:cms_delta.mycompany.com-35039-1384468204550-0:1) is shutting down | org.apache.activemq.broker.BrokerService | main
2013-11-14 14:30:06,705 | INFO | Connector openwire stopped | org.apache.activemq.broker.TransportConnector | main
2013-11-14 14:30:06,708 | INFO | Connector amqp stopped | org.apache.activemq.broker.TransportConnector | main
2013-11-14 14:30:06,737 | INFO | Connector stomp stopped | org.apache.activemq.broker.TransportConnector | main
2013-11-14 14:30:06,748 | INFO | Connector mqtt stopped | org.apache.activemq.broker.TransportConnector | main
2013-11-14 14:30:06,749 | INFO | Connector ws stopped | org.apache.activemq.broker.TransportConnector | main
2013-11-14 14:30:06,752 | INFO | PListStore:[/opt/apache-activemq-5.9.0/data/esb-dev.mycompany.com/tmp_storage] stopped | org.apache.activemq.store.kahadb.plist.PListStoreImpl | main
2013-11-14 14:30:06,752 | INFO | Stopping async queue tasks | org.apache.activemq.store.kahadb.KahaDBStore | main
2013-11-14 14:30:06,753 | INFO | Stopping async topic tasks | org.apache.activemq.store.kahadb.KahaDBStore | main
2013-11-14 14:30:06,754 | INFO | Stopped KahaDB | org.apache.activemq.store.kahadb.KahaDBStore | main
2013-11-14 14:30:07,045 | INFO | Apache ActiveMQ 5.9.0 (esb-dev.mycompany.com, ID:cms_delta.mycompany.com-35039-1384468204550-0:1) uptime 2.939 seconds | org.apache.activemq.broker.BrokerService | main
2013-11-14 14:30:07,046 | INFO | Apache ActiveMQ 5.9.0 (esb-dev.mycompany.com, ID:cms_delta.mycompany.com-35039-1384468204550-0:1) is shutdown | org.apache.activemq.broker.BrokerService | main
2013-11-14 14:30:07,047 | INFO | Closing org.apache.activemq.xbean.XBeanBrokerFactory$1@54520eb: startup date [Thu Nov 14 14:30:02 PST 2013]; root of context hierarchy | org.apache.activemq.xbean.XBeanBrokerFactory$1 | main
2013-11-14 14:30:07,050 | 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@54520eb: startup date [Thu Nov 14 14:30:02 PST 2013]; 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)
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta
查看Ruby的CSV库的文档,我非常确定这是可能且简单的。我只需要使用Ruby删除CSV文件的前三列,但我没有成功运行它。 最佳答案 csv_table=CSV.read(file_path_in,:headers=>true)csv_table.delete("header_name")csv_table.to_csv#=>ThenewCSVinstringformat检查CSV::Table文档:http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV/Table.html
我有一个在Linux服务器上运行的ruby脚本。它不使用rails或任何东西。它基本上是一个命令行ruby脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg
我发现ActiveRecord::Base.transaction在复杂方法中非常有效。我想知道是否可以在如下事务中从AWSS3上传/删除文件:S3Object.transactiondo#writeintofiles#raiseanexceptionend引发异常后,每个操作都应在S3上回滚。S3Object这可能吗?? 最佳答案 虽然S3API具有批量删除功能,但它不支持事务,因为每个删除操作都可以独立于其他操作成功/失败。该API不提供任何批量上传功能(通过PUT或POST),因此每个上传操作都是通过一个独立的API调用完成的
我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r
我正在阅读SandiMetz的POODR,并且遇到了一个我不太了解的编码原则。这是代码:classBicycleattr_reader:size,:chain,:tire_sizedefinitialize(args={})@size=args[:size]||1@chain=args[:chain]||2@tire_size=args[:tire_size]||3post_initialize(args)endendclassMountainBike此代码将为其各自的属性输出1,2,3,4,5。我不明白的是查找方法。当一辆山地自行车被实例化时,因为它没有自己的initialize方法
我有一个存储主机名的Ruby数组server_names。如果我打印出来,它看起来像这样:["hostname.abc.com","hostname2.abc.com","hostname3.abc.com"]相当标准。我想要做的是获取这些服务器的IP(可能将它们存储在另一个变量中)。看起来IPSocket类可以做到这一点,但我不确定如何使用IPSocket类遍历它。如果它只是尝试像这样打印出IP:server_names.eachdo|name|IPSocket::getaddress(name)pnameend它提示我没有提供服务器名称。这是语法问题还是我没有正确使用类?输出:ge