Jboss Hornetq是否恢复已发送的邮件?

Jboss Hornetq是否恢复已发送的邮件?,jboss,jms,hornetq,Jboss,Jms,Hornetq,非常不言自明的问题:JBoss7的嵌入式HornetQ似乎试图为已经处理的消息恢复事务。可能是这样吗?如果是这样,Jboss 7在更高版本中使用HornetQ 2.2是否已修复?HornetQ和所有实现JMS或AMQP的消息系统将重新传递未确认的消息。如果服务器已发送但您从未确认。。在客户端故障或服务器崩溃后,只要重新创建使用者,服务器就会重新传递消息 我不知道您所说的HornetQ尝试恢复已处理邮件的事务是什么意思。因此,我将解释一些TX语义 如果打开事务,则消息将作为该事务的一部分进行确认。

非常不言自明的问题:JBoss7的嵌入式HornetQ似乎试图为已经处理的消息恢复事务。可能是这样吗?如果是这样,Jboss 7在更高版本中使用HornetQ 2.2是否已修复?

HornetQ和所有实现JMS或AMQP的消息系统将重新传递未确认的消息。如果服务器已发送但您从未确认。。在客户端故障或服务器崩溃后,只要重新创建使用者,服务器就会重新传递消息

我不知道您所说的HornetQ尝试恢复已处理邮件的事务是什么意思。因此,我将解释一些TX语义

如果打开事务,则消息将作为该事务的一部分进行确认。如果该TX提交确认,则该消息将从服务器上删除

如果已准备好发送,则服务器将保留这些消息,直到服务器从事务管理器决定如何处理发送恢复过程

因此,答案的关键是确认与交付

特别是hornetQ,有一个确认模式呼叫Pre-ACK,消息在发送到客户端后立即离开服务器。您可以尝试这样做,但在硬件出现故障后,消息将永远不会重新发送,所以在做出决定之前,请小心并研究它正在做什么