gpt4 book ai didi

java - 在网络服务之间共享数据的最佳方式

转载 作者:行者123 更新时间:2023-12-01 11:35:11 24 4
gpt4 key购买 nike

在我当前的场景中,我有两个网络服务,特此描述:

<jaxws:endpoint  id="backendService"
implementor="com.foo.soap.BackendServiceImpl"
address="/BackendService" />

<jaxws:endpoint id="frontendService"
implementor="com.foo.soap.FrontendServiceImpl"
address="/FrontendService" />

Backendservice 监听一些后台应用程序以通知进度,而 frontendservice 则允许前台应用程序知道数据是否准备好。所以,简单地说:

public Interface Backendservice{
public void done(Long reqID); //sets backendservice status to true for that request ID
}

public Interface FrontendService{
public boolean isDone(Long reqID); //returns true if that request was completed
}

在两个网络服务之间交换 boolean 值的最佳方式是什么?我会考虑一个 Singleton 类,因此有这样的东西:

public void done(Long reqID){
Singleton.getInstance().setStatus(reqID, true);
}
public boolean isDone(Long reqID){
return Singleton.getInstance().getStatus(reqID);
}

但是这是最好的方法吗?或者 spring/cxf 提供一些更好的方法?

最佳答案

您可以拥有一个包含您的reqID及其当前状态的底层数据库。

使用单例很可能意味着您将在内存中存储内容,这可能不会使您的应用程序扩展太多。一旦应用程序关闭和/或必须实现持久性机制,您也将失去一切。

关于java - 在网络服务之间共享数据的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30074620/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com