我在“A”类中有一个主要方法,它每 20 秒更新一个变量。现在我必须在 B 类的其他一些主要方法中获取此变量的更新值。我正在避免使用数据库。我尝试使用静态 setter 和 getter,但得到空值。请帮助。
A 类和 B 类在两个 JVM 中运行
有很多方法可以做到这一点,如果你在一个容器中,我会建议 EJB 或一个普通的 servlet,当它通过 URL 调用时,它会回复该值。
对于独立应用程序,您可以公开一个 Web 服务,它是 2-3 个注释,并且可以使用 java 内置的 EndPoint 类来创建和公开该服务。
有一个单独的类作为 Web 服务,现在它只有一个方法 getAValue() : int
以后可以添加到这个是必需的。
请参阅http://java.dzone.com/articles/jax-ws-hello-world或http://docs.oracle.com/javaee/5/tutorial/doc/bnbor.html
请记住有一种方法可以更改生产的 IP 地址/ URL(属性文件/ db init 无论如何)
您也可以使用数据库,但这会更慢。A 将更新数据库 - 可以有一个包含键和值的简单表 - 现在需要更新 key = "ClassAVal1" 或类似的行,客户端将从这里读取