【发布时间】:2023-04-08 02:00:02
【问题描述】:
情况:2个小型java应用程序都连接到远程服务并在那里发送一些数据(第一个应用程序侦听本地套接字,处理数据,将其发送给远程服务进行验证并处理响应;第二个应用程序按预定时间启动,处理数据库的一些数据并将该数据发送到远程服务)。问题是远程服务只允许一个连接(该连接是 SMPP 会话),这意味着如果一个应用程序正在运行并且其他应用程序启动并尝试建立连接那么不好事情会发生...
这个想法是将 2 个应用程序合二为一(也许还有其他解决方案?)并创建某种控制工作流功能,其职责是管理应用程序以避免在连接到远程服务时发生冲突。 有人可以给我关于这个想法的任何建议吗?也许有某种设计模式可以让我在实现它时避免一些陷阱? (如果有一些开源应用程序可以管理类似的问题,那就更好了,这样我就可以浏览源代码并收集一些有用的信息。
谢谢。
【问题讨论】:
-
每次请求后为什么不关闭连接?
-
应用程序 B 需要从数据库中获取数据并发送(例如)15 条短信到 smpp 服务器,这是否意味着我们需要打开关闭会话 15 次才能发送这些消息?
-
我同意 binary_runner - 使用队列来累积消息并以固定的时间速率发送它们,这是异步交互的常用设计模式......
标签: java architecture