当前位置: 首页 > 知识库问答 >
问题:

启用schedulerSupport将activemq代理置于从属模式,等待获取锁

东郭弘方
2023-03-14

我计划在activemq中使用延迟,我指的是像这样的一些帖子,其中人们提到了activemq中的以下更改。xml要启用计划程序:

<代码>

所以,我在activemq.xml做了同样的事情,结果如下:

C:\tan\my_softwares\apache-activemq-5.15.11\bin>activemq start
Java Runtime: Oracle Corporation 13.0.2 C:\Program Files\Java\jdk-13.0.2
  Heap sizes: current=1048576k  free=1042942k  max=1048576k
    JVM args: -Dcom.sun.management.jmxremote -Xms1G -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=C:\tan\my_softwares\apache-activemq-5.15.11\bin\..\conf\login.config -Dactivemq.classpath=C:\tan\my_softwares\apache-activemq-5.15.11\bin\..\conf;C:\tan\my_softwares\apache-activemq-5.15.11\bin\../conf;C:\tan\my_softwares\apache-activemq-5.15.11\bin\../conf; -Dactivemq.home=C:\tan\my_softwares\apache-activemq-5.15.11\bin\.. -Dactivemq.base=C:\tan\my_softwares\apache-activemq-5.15.11\bin\.. -Dactivemq.conf=C:\tan\my_softwares\apache-activemq-5.15.11\bin\..\conf -Dactivemq.data=C:\tan\my_softwares\apache-activemq-5.15.11\bin\..\data -Djava.io.tmpdir=C:\tan\my_softwares\apache-activemq-5.15.11\bin\..\data\tmp
Extensions classpath:
  [C:\tan\my_softwares\apache-activemq-5.15.11\bin\..\lib,C:\tan\my_softwares\apache-activemq-5.15.11\bin\..\lib\camel,C:\tan\my_softwares\apache-activemq-5.15.11\bin\..\lib\optional,C:\tan\my_softwares\apache-activemq-5.15.11\bin\..\lib\web,C:\tan\my_softwares\apache-activemq-5.15.11\bin\..\lib\extra]
ACTIVEMQ_HOME: C:\tan\my_softwares\apache-activemq-5.15.11\bin\..
ACTIVEMQ_BASE: C:\tan\my_softwares\apache-activemq-5.15.11\bin\..
ACTIVEMQ_CONF: C:\tan\my_softwares\apache-activemq-5.15.11\bin\..\conf
ACTIVEMQ_DATA: C:\tan\my_softwares\apache-activemq-5.15.11\bin\..\data
Loading message broker from: xbean:activemq.xml
 INFO | Refreshing org.apache.activemq.xbean.XBeanBrokerFactory$1@1cbbffcd: startup date [Thu Jun 25 07:35:22 CDT 2020]; root of context hierarchy
 INFO | Using Persistence Adapter: KahaDBPersistenceAdapter[C:\tan\my_softwares\apache-activemq-5.15.11\bin\..\data\kahadb]
 INFO | KahaDB is version 6
 INFO | PListStore:[C:\tan\my_softwares\apache-activemq-5.15.11\bin\..\data \localhost\tmp_storage] started
 INFO | Database C:\tan\my_softwares\apache-activemq-5.15.11\bin\..\data \localhost\scheduler\lock is locked by another server. This broker is now in slave mode waiting a lock to be acquired

在此之后,我无法访问ActiveMQ的Web控制台和http://localhost:8161/admin/index.jsp导致无法连接。但是,如果我放回原来的配置,这是没有调度支持,一切正常,我能够访问Web控制台:

<代码>

如何解决此问题?

共有1个答案

郭修平
2023-03-14

调度器使用自己的自定义存储来管理计划的消息,并且它正在使用的文件夹似乎锁定了它所使用的文件,以确保只有一个代理实例写入该存储。您需要调查是否有另一个代理实例访问该存储位置,并停止它或更新配置以使用其他位置。您还可以检查文件夹权限等。您还可以手动删除该文件夹中的所有文件,以确保删除旧的锁定文件。

也就是日志明确指出问题所在的目录。

INFO | Database C:\tan\my_softwares\apache-activemq-5.15.11\bin\..\data \localhost\scheduler\lock is locked by another server. This broker is now in slave mode waiting a lock to be acquired
 类似资料:
  • 我们需要将消息从一个ActiveMQ代理复制到另一个代理。这里消息必须只是复制,并且消息应该存在于两个代理中。 我可以想到一个自定义应用程序,它订阅某个目标并读取该消息并将消息重新发布到多个代理中的目标。 我没有权限在经纪人中进行更改,所以我想不出经纪人网络选项。 是否有任何最佳实践或工具可用于将A-MQ消息从一个代理复制到另一个代理?

  • 我希望你们都平安无事, 假设我有第一张照片中显示的这个系统。有2个源链接到2个不同的代理类型。他们从同样的延迟送达。 我的目标:是从第一个源找到代理的等待时间,从第二个源找到代理的等待时间。 我所做的:我首先使用了“timemeasureend”数据集。我运行了模拟,然后检查了日志中的datasets_Log。(见图二)。 我的问题是:我无法知道哪些代理来自源1,哪些来自源2。它只是给我基于FIF

  • 我用绝地武士连接redis服务器。Redis ip值在一个单独的文件中配置,我试图在初始化期间加载该文件 我从redis获取多个密钥的方法如下 当我在属性文件中给出了不正确的ip值时,访问它的请求线程等待了很长一段时间。我的请求不应该因为池中资源不可用而停止。 在这里,我附加了停顿线程的线程转储(即;处于等待状态的线程) 我怎样才能做到这一点?非常感谢您的帮助。提前感谢:-)

  • 问题内容: 我意识到Selenium具有用于隐式等待的默认值,但是如果更改它,如何获得该值?例如: 以后如何从驱动程序获取13值? 问题答案: 不幸的是,这没有任何意义。 http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/WebDriver.Timeouts.html 也没有明确的等待。 http://sele

  • 问题内容: 我正在寻找一种使用Node v7.6或更高版本的方法,以在调用异步函数时获得Bluebird Promise(或任何非本机Promise)。 用同样的方式,我可以做: 请参阅: 我可以使用global.Promise = require(“ bluebird”) 我希望能够执行以下操作: 我知道我可以随时使用类似的东西: 但是我很 好奇 是否有办法更改所返回的默认Promise 。构造

  • 我使用等待块使代理等待,直到条件为真(资源空闲)。我尝试在等待块“输入”字段中写入以下内容: 问题是,如果资源变得繁忙,代理将被困在等待块中,不会被释放,即使条件再次变为真。然后,当下一个代理进入等待块时(条件再次变为真),它将传递原本在它前面的代理,但现在被卡住了。有办法解决这个问题吗?