在两个不同的java进程之间通信
我有两个java进程,Process1负责将一些外部数据导入数据库,Process2使用相同的数据库运行应用程序的其余部分,即它承载web模块和其他所有内容。Process1通常每天导入一次数据 我需要的是,当Process1完成它的工作时,它应该通知Process2,以便它可以执行一些后续任务。就是说,这就是他们相互作用的限度。以后不必共享其他数据 不,我知道我可以通过以下方式之一实现:在两个不同的java进程之间通信,java,sockets,process,Java,Sockets,Process,我有两个java进程,Process1负责将一些外部数据导入数据库,Process2使用相同的数据库运行应用程序的其余部分,即它承载web模块和其他所有内容。Process1通常每天导入一次数据 我需要的是,当Process1完成它的工作时,它应该通知Process2,以便它可以执行一些后续任务。就是说,这就是他们相互作用的限度。以后不必共享其他数据 不,我知道我可以通过以下方式之一实现: 让Process1在完成执行后在数据库中写入一个条目,并让demon线程在Process2中查找该条目。读
我浏览了一遍,但发现对于进程间通信的初学者来说,它缺乏基本的示例。这就是我在这篇文章中看到的内容。我想说,看看 它使用一个数组并保存堆外的数据(因此GC没有问题)。此外,还为场景提供TCP复制
当有多台机器可用时,它可以很好地扩展并支持分布式处理。可能与“java进程间通信”重复,或者只是在谷歌上搜索一下。@antoh我做了这项研究,正如你在帖子中看到的那样。我想知道在我面临的情况下,什么更合适。我已经浏览了链接,我看不到什么研究证据。您没有提到信号、信号量或消息队列,它们是非常经典的IPC技术。更新数据库中的字段将是一个糟糕的想法,因为这几乎意味着一个进程不断地执行数据库请求,但结果很少,直到字段在某个未指定的时间被更改为止。最好的是,如果我们对这2个进程不了解环境,我们可以给予很少的真正帮助,IMO.,我读过它们,但出于理由,我没有认真考虑它们。现在看来,JMS可能是一个解决方案。谢谢