如何通过两个进程传输对象?

时间:2014-01-23 03:06:50

标签: java process

例如,我将连接池开发为服务器,而在另一个应用程序中,我想使用池中存在的连接,我该如何获取它?他们分为两个过程?有不同的生活圈?

1 个答案:

答案 0 :(得分:2)

如果您正在讨论套接字连接(即您的连接池处理tcp连接),那么您无法将该连接从一个进程传递到另一个进程。但是,您可以从第二个进程连接到服务器,并将信息中继到第二个进程(基本上充当代理)。

通常,您需要一种方法让两个进程进行通信。如果它们具有不同的生命周期(您提示),并且您需要一个进程来接收来自其他进程的消息,那么您还需要一个持久性和排队机制。根据您的需求,有许多不同的方法可以实现这一目标。以下是一些例子: -

  1. 在服务器上,将信息写入套接字并在另一个进程上读取。您将使用其中一个Java消息传递类,并可能序列化对象信息。这是非持久性的,但可能是最容易开始的。
  2. 在服务器上,将信息写入文件,并通过命名信号量,文件或其他方式发出信号,表明存在要处理的信息。
  3. 在服务器上,将邮件写入有保证的传递队列(例如Amazon或Azure队列),以便在可用时由其他进程接收。