Jms 在JBossAS7上暂停Hornetq

Jms 在JBossAS7上暂停Hornetq,jms,jboss7.x,hornetq,Jms,Jboss7.x,Hornetq,在备份期间,我想暂停HornetQ中的所有JMS队列,以便拍摄磁盘快照。在jboss cli中,我正在呼叫: connect /subsystem=messaging/hornetq-server=default/jms-queue=%queueName:pause 但队列没有暂停。如何暂停所有JMS作业 UPD 复制步骤: root@debian:/opt/jboss/bin# ./jboss-cli.sh You are disconnected at the moment. Ty

在备份期间,我想暂停HornetQ中的所有JMS队列,以便拍摄磁盘快照。在jboss cli中,我正在呼叫:

connect   
/subsystem=messaging/hornetq-server=default/jms-queue=%queueName:pause
但队列没有暂停。如何暂停所有JMS作业

UPD

复制步骤:

root@debian:/opt/jboss/bin# ./jboss-cli.sh 
You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.
[disconnected /] connect
[standalone@localhost:9999 /] /subsystem=messaging/hornetq-server=default/jms-queue=AIIndex:pause         
{
    "outcome" => "success",
    "result" => undefined
}
[standalone@localhost:9999 /] 
但是当我打电话的时候

[standalone@localhost:9999 /] /subsystem=messaging/hornetq-server=default/jms-queue=AIIndex:count-messages
{
"outcome" => "success",
 "result" => 128L
}

因此,每当我调用
/subsystem=messaging/hornetq server=default/jms queue=AIIndex:count messages
时,它都会显示不同的值。

我可以复制它:
pause
只是禁用消息接收(接收者不会收到任何消息,也没有错误消息)。但是仍然可以发送消息。我也没有发现任何其他操作,无论是在队列上还是在子系统级别上。因此,我只能确认它没有“预期”的效果


HornetQ内部使用一个。引述:

HornetQ日志仅附加了可配置的文件大小,通过启用单写操作提高了性能。它由磁盘上的一组文件组成,这些文件最初预先创建为固定大小,并填充了填充。在执行服务器操作(添加消息、删除消息、更新消息等)时,操作记录将附加到日志中,直到日志文件已满,此时将使用下一个日志文件

至于另一句话:

日志同步事务

如果为true,HornetQ将确保所有事务数据在事务边界(提交、准备和回滚)上刷新到磁盘。默认值为true

日志同步非事务性

如果为true,HornetQ将确保将非事务性消息数据(发送和确认)刷新到磁盘。默认值为true

这看起来还不算太糟糕,但我还没有找到可以备份
../data/messaging*/
目录的确认书。可能没有从“外部”获得一致备份的解决方案


因此,我所知道的唯一可靠的方法是使用:引用:

HornetQ允许成对的服务器作为实时备份对链接在一起。在此版本中,每个实时服务器都有一个备份服务器。备份服务器仅由一台实时服务器拥有。在发生故障转移之前,备份服务器无法运行


这种方法从“在JBoss中”开始进行备份(虽然不是文件系统备份)。

请提供您正在使用的完整命令行。
%queuename
是变量还是具有该名称的队列确实存在?您的命令返回什么,您期望得到什么?