我在类'A'中有一个main方法,它每20秒更新一个变量。现在我必须在类B的其他主要方法中获取此变量的更新值。我避免使用数据库。我尝试过使用静态setter和getter但是获取空值。请帮助。
A类和B类在两个JVM中运行
答案 0 :(得分:0)
有很多方法可以做到这一点,如果你在一个容器中我会建议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”或类似的,客户端会从这里读取