gpt4 book ai didi

java - 如何在jms上支持事务/故障转移?

转载 作者:行者123 更新时间:2023-12-01 13:12:02 25 4
gpt4 key购买 nike

在后端我想要原子事务,这意味着

try{
get database connection

update employee record;
update department record;
produces messages 1 on queue1
produces messages 2 on queue2
// some exception occured
}
finally{
connection.rollback();
// how to roll back the messages from queue
}

同样,如果消息代理关闭,我将如何确保消息在启动后立即传递。

我正在使用 ActiveMQ

最佳答案

假设您有一个 JmsSession 来发送消息,您可以执行 jmsSession.commit()jmsSession.rollback() 来完成 jms 事务。

如果您希望消息持久化,即在jms服务器崩溃后仍能继续传递,可以将消息的传递模式设置为持久化:jmsMessageProducer.send(msg, DeliveryMode.PERSITENT)

有关详细信息,请参阅此:

http://docs.oracle.com/javaee/6/api/javax/jms/Session.html

关于java - 如何在jms上支持事务/故障转移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22775518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com