建立两个独立流程之间的沟通

时间:2016-11-05 05:36:05

标签: java multithreading design-patterns

所以我正在为我的应用程序开发一个简单的服务器。此服务器的基本目的是侦听请求,理解它,将请求转发到域(服务器中的对象),然后该域与文件系统交互以创建一些对象并将数据返回到请求来自的位置。 / p>

到目前为止,我已经想出了这样的设计: enter image description here

所以我所做的就是启动一个具有连接器引擎的服务。

  • 连接器具有多个处理指定协议的协议处理程序。每个协议处理程序都会初始化一个端点侦听器,它会打开一个套接字并侦听传入的请求。

  • 引擎有多个域,每个域在文件系统上都有指定的目录来读/写数据。

我可以初始化服务图层,包括其所有对象,但我无法弄清楚如何制作 Connector 引擎能够交换数据。

这是复杂的。

不确定服务只有一个连接器,或者引擎只有一个域,或者连接器只有一个协议处理程序。 Eveything通过XML文件配置。服务器也可以运行多个服务。

此外,连接器必须不知道引擎,因此无法直接通知它。

可能有用的其他信息。

  • 图表中的所有内容都有一个生命周期(除了协议处理程序和终结点),即init() -> start() -> stop() -> destroy()。可以添加一个监听器来监听生命周期状态的变化。
  • 可能的生命周期状态为NEW, BEFORE_INIT, INITIALIZING, INITIALIZED, AFTER_INIT, BEFORE_START, STARTING, STARTED, AFTER_START, BEFORE_STOP, STOPPING, STOPPED, AFTER_STOP, BEFORE_DESTORY, DESTROYING, DESTROYED, AFTER_DESTROY
  • 总会有一个引擎。
  • 服务器作为线程运行,因此它应该是线程安全的。
  • 我有图中可见的每个对象的接口。

我不知道这是不是一个好问题,或者实施并不像我想的那样令人困惑,但我想知道其他人认为可能是一个很好的方法来做到这一点......

0 个答案:

没有答案