当前位置:  开发笔记 > 编程语言 > 正文

Java:跨多个服务器同步线程

如何解决《Java:跨多个服务器同步线程》经验,为你挑选了2个好方法。

我有一个问题,我需要为Windows上的Java服务跨多个不同服务器同步多个线程的处理.

在这个应用程序中,我在同一个JMS队列中有多个消费者线程拉取消息.消息以3或4组的形式出现,我需要确保每个组中的消息都是完全串行处理的.我需要某种同步机制来确保thread1是否关闭了一个消息,然后thread2从该组中提取下一条消息,thread2在开始处理它的消息之前等待thread1完成处理.

关于线程的分布式同步机制的任何建议?任何类型的解决方案都会很好(JMS解决方案,分布式缓存等)

注意:我们使用的JMS提供程序是ActiveMQ.



1> andri..:

ActiveMQ支持消息组,从字面上看,它应该正是您所需要的.



2> Talip Ozturk..:

您可能要考虑使用Hazelcast分布式锁.超轻,简单和开源.

java.util.concurrent.locks.Lock lock = Hazelcast.getLock ("mymonitor");
lock.lock ();
try {
// do your stuff
}finally {
   lock.unlock();
}

问候,

-talip

Hazelcast - 开源分布式队列,地图,设置,列表,锁定

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有