eclipse - 使用嵌入式 ActiveMQ JMS 的 Tomcat 配置

标签 eclipse tomcat configuration activemq

我有 Tomcat 7.0.42 和 ActiveMQ 5.10,并已将以下资源添加到我的 context.xml 文件中:

<Resource 
    auth="Container" 
    brokerName="MyActiveMQBrokerXML" 
    description="JMS Connection Factory" 
    factory="org.apache.activemq.jndi.JNDIReferenceFactory" 
    name="jms/ConnectionFactory" 
    type="org.apache.activemq.ActiveMQConnectionFactory" 
    useEmbeddedBroker="true"
    brokerURL="vm://localhost?brokerConfig=xbean:activemq.xml"
    />

当通过内置启动脚本启动 Tomcat 时,我在控制台输出中得到以下信息。

2015-01-27 09:49:24,064 [localhost-startStop-1] INFO org.apache.activemq.store.kahadb.plist.PListStoreImpl- PListStore:[C:\tomcat\apache-tomcat-7.0.57\bin\acti vemq-data\MyActiveMQBroker\tmp_storage] started 
2015-01-27 09:49:24,068 [localhost-startStop-1] INFO org.apache.activemq.broker.BrokerService- Using Persistence Adapter: KahaDBPersistenceAdapter[C:\tomcat\ap ache-tomcat-7.0.57\bin\activemq-data\MyActiveMQBroker\KahaDB]   
2015-01-27 09:49:24,471 [localhost-startStop-1] INFO org.apache.activemq.store.kahadb.MessageDatabase- KahaDB is version 5 
2015-01-27 09:49:24,491 [localhost-startStop-1] INFO org.apache.activemq.store.kahadb.MessageDatabase- Recovering from the journal ... 
2015-01-27 09:49:24,492 [localhost-startStop-1] INFO org.apache.activemq.store.kahadb.MessageDatabase- Recovery replayed 3 operations from the journal in 0.01 seconds. 
2015-01-27 09:49:24,663 [localhost-startStop-1] INFO org.apache.activemq.broker.BrokerService- Apache ActiveMQ 5.10.0 (MyActiveMQBroker, ID:Jacob-PC-55865-1422 373764525-0:1) is starting 
2015-01-27 09:49:24,707 [localhost-startStop-1] INFO org.apache.activemq.broker.TransportConnector- Connector vm://localhost?brokerConfig=xbean:activemq.xml st arted 
2015-01-27 09:49:24,707 [localhost-startStop-1] INFO org.apache.activemq.broker.BrokerService- Apache ActiveMQ 5.10.0 (MyActiveMQBroker, ID:Jacob-PC-55865-1422 373764525-0:1) started 
2015-01-27 09:49:24,708 [localhost-startStop-1] INFO org.apache.activemq.broker.BrokerService- For help or more information please see: http://activemq.apache. org 
2015-01-27 09:49:24,711 [localhost-startStop-1] ERROR org.apache.activemq.broker.BrokerService- Memory Usage for the Broker (1024 mb) is more than the maximum a vailable for the JVM: 247 mb - resetting to 70% of maximum available: 173 mb 
2015-01-27 09:49:24,728 [localhost-startStop-1] WARN org.apache.activemq.broker.BrokerRegistry- Broker localhost not started so using MyActiveMQBroker instead Jan 27, 2015 9:49:24 AM org.apache.catalina.startup.HostConfig deployDirectory

在我看来,tomcat 没有在寻找 activemq.xml 文件,或者至少没有使用它。如果我通过 eclipse 启动 tomcat,这个确切的配置是有效的,但这对于生产系统来说不是一个可行的选择。

最佳答案

我发现如果部署到生产环境中,您必须使用文件的绝对路径让 Tomcat 找到 activemq.xml 文件。尽管使用相对路径应该可行,但我永远做不到。

brokerURL="vm://localhost?brokerConfig=xbean:activemq.xml"

据说只有在将“activemq.xml”添加到类路径时才有效。注意 'xbean:file:/some/path/activemq.xml' 中存在 'file'。

<Resource id="MyJmsResourceAdapter" type="ActiveMQResourceAdapter">
        BrokerXmlConfig =  xbean:file:/usr/share/apache-tomee-plus-8.0.0-M1/conf/activemq.xml
        ServerUrl       =  tcp://localhost:61616            
</Resource>

关于eclipse - 使用嵌入式 ActiveMQ JMS 的 Tomcat 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28174556/

相关文章:

java - 随机误差。 "javax.servlet.ServletException: java.lang.NoSuchFieldError: deferredExpression"

configuration - GCC无法找到GMP,MPFR和MPC库

java - 生成等号和哈希码时忽略属性

java - 确保 MAVEN_HOME 设置正确

tomcat - 在 tomcat 中部署 FLEX3 应用程序

php - 是否有 PHP 设置来设置是否可以索引函数的结果?

eclipse - 使用各种 Eclipse ini 文件

java - 如何查看eclipse使用的shell命令 "run configurations"

python - 在控制台中正确打印\r

xml - Treewalker 异常,Eclipse