问题描述
例子:模块A和B分别布署在不同机器上,A和B建立Socket进行通讯,当Socket异常中断时,模块A里的消息有可能发送不到B中去.要求:当A与B的Socket重新建立后,A中上次未发送成功的消息能再次发送到B中.疑问:我不知道java里有哪些处理消息的组件可以处理上面提到的异常情况,我对MSMQ有点了解,它可以把消息存储在内存中或者是物理文件中,有两种方式发送:快递方式(express)和可恢复模式(recoverable).以可恢复模式发送的消息可以恢复到故障发生之前的状态.不知道java里有没有哪些组件功能上与MSMQ是类似的,各位大虾推荐下,小弟在此谢过了...
解决方案
解决方案二:
你在连接异常的时候,把还没有发出去的消息存起来不可以吗?
解决方案三:
引用1楼laorer的回复:
你在连接异常的时候,把还没有发出去的消息存起来不可以吗?
嗯,我有这样想过的,在异常发生的时候,把消息保存到文件或DB中,等连接重新建立之后,再发送.我不知道Java里有没有这样现成的组件可以用,因为自己写的,总没有这些组件处理得那么完善,如果没有的话,就只能自己写啰,呵呵...
解决方案四:
IBM-MQueue?
解决方案五:
或者是GMD-MQueue
解决方案六:
引用3楼ticmy的回复:
IBM-MQueue?
哦,谢谢.我找找资料了解下.你有例子吗,有的话可不可以发到我邮箱96688huang@163.com.谢谢
解决方案七:
引用4楼liushengmz的回复:
或者是GMD-MQueue
谢谢.我找找资料了解下.你有例子吗,有的话可不可以发到我邮箱96688huang@163.com.谢谢
时间: 2024-09-15 12:27:04