我正在管理服务器,它运行由我们的程序员编写的应用程序的tomcat6。它使用ActiveMQ。应用程序将活动队列数据保存在$JAVA_TEMP/ ActiveMQ -data中。Debian Squeeze上的Tomcat6会在每次重启时清除$JAVA_TEMP(默认情况下是/tmp/tomcat6-temp)。程序员说,在服务重新启动之间,这些数据必须是持久的。java servlet保存持久数据的合适位置是什么?我想这不是$JAVA_TEMP目录。或者程序员是对的,我应该改变默认的Debian tomcat行为?
发布于 2012-07-08 00:59:40
ActiveMQ提供了持久性适配器来存储服务器重启时所需的消息。持久化消息有不同的策略。
<broker brokerName="broker" persistent="true" useShutdownHook="false">
<persistenceAdapter>
<amqPersistenceAdapter directory="activemq-data" maxFileLength="32mb"/>
</persistenceAdapter>
<transportConnectors>
<transportConnector uri="tcp://localhost:61616"/>
</transportConnectors>
基于</broker>
发布于 2012-07-08 15:06:49
当涉及到java servlet的存储时,就会想到可伸缩性。通常,Java servlets被构建和设计为可在多个服务器(tomcat实例等)上部署。一次,用于垂直缩放。因此,经验法则是尽可能使用数据库存储。在您的特定情况下,您似乎只运行一台服务器,您可以使用文件系统上的任何位置。也许您希望将数据存储在NAS/SAN上。
ActiveMQ可以通过持久性适配器处理大多数存储选项。
此link描述ActiveMQ如何处理持久性以及如何配置持久性。这是一个丰富的领域,它依赖于许多要求以及您喜欢的设置方式。
https://stackoverflow.com/questions/11376825
复制相似问题