Web services 从同一服务器上的其他应用程序调用方法

Web services 从同一服务器上的其他应用程序调用方法,web-services,jakarta-ee,web-applications,Web Services,Jakarta Ee,Web Applications,我有一个web应用程序,用户可以从数据库中查看他们创建的任务 我想构建第二个应用程序,调用数据库的所有条目,并检查任务是否仍然是最新的或过期的。我正在寻找一种解决方案,我的第二个应用程序可以强制我的第一个应用程序的所有会话重新加载它们的数据 是否有方法调用可以影响所有正在运行的会话的方法 public void callUpdate() { //get running Sessions of App1 //send update event } public void EventLis

我有一个web应用程序,用户可以从数据库中查看他们创建的任务

我想构建第二个应用程序,调用数据库的所有条目,并检查任务是否仍然是最新的或过期的。我正在寻找一种解决方案,我的第二个应用程序可以强制我的第一个应用程序的所有会话重新加载它们的数据

是否有方法调用可以影响所有正在运行的会话的方法

public void callUpdate()
{
//get running Sessions of App1    
//send update event
}

public void EventListener(updateEvent)
{
//reload data
}
还是像这样

此图像可能有助于了解问题:


我也在寻找使用web服务和servlet的解决方案,但我没有找到可以帮助我解决问题的方法。或者我在搜索时没有使用正确的关键字。

您可以使用JMS解决方案来松散地耦合应用程序。webApp1可以向触发任务检查的队列发送消息(CheckForExpiredTasks)。webApp2将侦听该消息,并在收到该消息时执行查找过期任务的工作。如果出现要使正在运行的会话过期的场景,webApp2将向队列发送一条“ExpireAllSessions”消息。侦听正确队列的webApp1将接收此消息并使其所有正在运行的会话过期

使用JMS会很好,因为这两个应用程序是否被部署并不重要。只要他们能拿到数据。webApp2本身不需要是一个webApplication。只是一个使用EJB或Spring的light services应用程序


希望这有帮助

非常感谢JMS的提示。就像你说的一个很好的解决方案。