我有两个申请
第一个创建典型文件
第二个应用程序使用这些文件
当第一个应用程序更改某个文件时,应注意第二个应用程序。
我尝试使用ServerSocket执行此操作,它确实有效
第一个应用程序是客户端(java.net.Socket
),第二个是服务器(java.net.ServerSocket
)
但它也适用于多个应用程序实例
如果我们有多个应用程序实例2,第一个应该提醒每个实例。
这两个应用程序都是在没有任何数据库的同一台机器上运行的桌面问题是如何实现它而不是实际代码。实际代码运行正常。它只是不符合规格。
答案 0 :(得分:1)
为了理解这个问题,我们举一个例子。
有一个应用程序正在生成一些东西,我们可以将其称为prodApp,还有许多其他应用程序应该得到通知,我们称之为consApp1,consApp2,... consAppN
可以使用 JMS ( Java Messaging Service )设计此问题的解决方案。
JMS提供了多个consApp可以在一个地方注册的方式(在JMS中称为 TOPIC ),并且只要有一些东西放在TOPIC上就会得到通知(在此处案件将由prodApp完成。
所以它会像这样工作prodApp将执行其处理在JMS TOPIC上写入其状态,因为所有consApp将得到通知并开始自己的处理。
答案 1 :(得分:0)
如果文件数量很少并且已知它们保存在一个地方,则第二个应用程序可以定期检查文件(如每分钟)以查找每个文件的最后修改时间。
这可能比socket,RMI或其他网络通信更快。