tomcat - 在哪里保存 ActiveMQ 数据?

标签 tomcat debian tomcat6 activemq

我正在管理运行 tomcat6 和应用程序的服务器,该应用程序由我们的程序员编写。它使用 ActiveMQ。应用程序将 ActiveMQ 队列数据保存在 $JAVA_TEMP/activemq-data 中。 Debian Squeeze 上的 Tomcat6 在每次重启时都会清除 $JAVA_TEMP(默认情况下为/tmp/tomcat6-temp)。程序员说,这些数据必须在服务重启之间保持不变。 Java servlet 保存持久数据的合适位置是什么?恕我直言,它不是 $JAVA_TEMP 目录。或者程序员可能是对的,我应该更改默认的 Debian tomcat 行为?

最佳答案

ActiveMQ 提供持久化适配器来存储服务器重启时所需的消息。有不同的策略来持久化消息。

  • 基于文件的持久性存储:在此策略中,消息存储在文件存储中。您可以在 ActiveMQ 配置中指定目录。见下例,更多配置请引用:http://activemq.apache.org/amq-message-store.html

    <broker brokerName="broker" persistent="true" useShutdownHook="false"> <persistenceAdapter>

    <amqPersistenceAdapter directory="activemq-data" maxFileLength="32mb"/>

    </persistenceAdapter>

    <transportConnectors>

    <transportConnector uri="tcp://localhost:61616"/>

    </transportConnectors>

    </broker>

  • 基于数据库的持久性存储:在此策略中,消息存储在数据库中,如果您的消息很重要,请使用它。有关配置 JDBC 的信息 - 数据库持久性,请参阅 http://activemq.apache.org/jdbc-support.html

关于tomcat - 在哪里保存 ActiveMQ 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11376825/

相关文章:

服务器更改后的 Java 安全警告 SSL 连接

linux - iptable 用于端口转发

jakarta-ee - 在 Debian 7.1.0 上安装 Java EE 7 SDK

java - 在 WAR 文件中定义 Servlet 上下文

java - 如何在 eclipse 中配置 java web 应用程序以反射(reflect)在 tomcat 上部署后后端 jar 中的更改

jakarta-ee - 如何将用户从/页面重定向到 html 页面?

angularjs - 在 tomcat apache 服务器上部署 AngularJS 应用程序

Tomcat 7 中的 session 和并行部署

php - 拥有 +100 个用户的 Symfony2 网站 = 100% CPU 费用

tomcat - 如何查找 apache tomcat 中实际运行的并发线程