Hibernate 增加jms消息处理的延迟
我将atomikos与Hibernate和ActiveMQ一起使用。我的事务涉及将消息提交到DB并发送到队列。然后,jmsreveiver读取消息并调用来自db的get 有些情况下,Atomikos已提交到队列,但hibernate提交仍在进行中,同时从接收方触发get查询。我试图找到是否有方法可以在XA事务中指定提交顺序,但答案似乎是不读取Hibernate 增加jms消息处理的延迟,hibernate,activemq,xa,atomikos,Hibernate,Activemq,Xa,Atomikos,我将atomikos与Hibernate和ActiveMQ一起使用。我的事务涉及将消息提交到DB并发送到队列。然后,jmsreveiver读取消息并调用来自db的get 有些情况下,Atomikos已提交到队列,但hibernate提交仍在进行中,同时从接收方触发get查询。我试图找到是否有方法可以在XA事务中指定提交顺序,但答案似乎是不读取 所以我在想,有没有一种方法可以在消息处理过程中增加一些延迟,以便在提交成功时,消息只在5秒后被阻塞。activemq支持延迟消息,请参阅 你应该做的两件事
所以我在想,有没有一种方法可以在消息处理过程中增加一些延迟,以便在提交成功时,消息只在5秒后被阻塞。activemq支持延迟消息,请参阅 你应该做的两件事: 首先是在activemq.conf中添加schedulerSupport
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" schedulerSupport="true">
然后在发送时添加AMQ\u SCHEDULED\u DELAY
属性
比如
textMessage.setLongProperty(“AMQ\u SCHEDULED\u DELAY”,5000)代码>是的,这增加了请求的延迟,但我不确定这是否回答了关于引入延迟的问题,这是一个好主意。有没有办法在JBOSS中指定xa参与者的提交顺序?我知道XA没有指定参与者的提交顺序。但是像websphere这样的应用服务器定义了提交顺序,其中jdbc总是在JMS之前提交。是否有任何东西可以帮助排序提交顺序,任何由atomikos或XA或Jboss提供的东西。在我的例子中,它是message.setLongProperty(“\u AMQ\u SCHED\u DELIVERY”,5000)代码>