【问题标题】:How to exchange values between two main methods如何在两种主要方法之间交换值
【发布时间】:2013-05-19 20:06:52
【问题描述】:

我在“A”类中有一个主方法,它每 20 秒更新一个变量。现在我必须在 B 类的其他一些主要方法中获取此变量的更新值。我正在避免使用数据库。我尝试过使用静态 setter 和 getter 但得到空值。请帮助。

A 类和 B 类在两个 JVM 中运行

【问题讨论】:

  • 为什么你不能有一个属性获取方法?或者你的问题是如何在struts中做到这一点?如果是这样,您需要更具体地提出您的问题并展示您迄今为止所做的工作
  • 在不同的Threads 中运行AB 并将您的A 实例传递给您的B 实例并让B 为您的变量调用A 的getter
  • 我尝试过静态 setter 和 getter,但得到的是空值。
  • 您需要先阅读有关进程(OS 进程)和内存的编程教程以及有关 EJB 和 IO(URL)的 Java 教程。如果你有两个 Jvm,你需要一种方法让一个通过远程调用(Ejb 或 http post 等)询问另一个的值
  • 您的 A 类是在像 jboss 这样的容器中运行,还是您调用其 main 的独立应用程序?

标签: java rpc


【解决方案1】:

有很多方法可以做到这一点,如果你在一个容器中,我会建议 EJB 或一个普通的 servlet,当它通过 URL 调用时,它会回复该值。


对于一个独立的应用程序,您可以公开一个 Web 服务,它是 2-3 个注释,并且可以使用 java 内置的 EndPoint 类来创建和公开该服务。

有一个单独的类作为 Web 服务,现在它只有一个方法 getAValue() : int

以后可以添加这个是必需的。

http://java.dzone.com/articles/jax-ws-hello-worldhttp://docs.oracle.com/javaee/5/tutorial/doc/bnbor.html

记得有一种方法可以更改生产的 IP 地址/ URL(属性文件/db init)


您也可以使用数据库,但这会比较慢。 A 将更新数据库 - 可以有一个包含键和值的简单表 - 现在需要更新 key = "ClassAVal1" 或类似的行,客户端将从这里读取

【讨论】:

    猜你喜欢
    • 2011-12-06
    • 2021-02-01
    • 1970-01-01
    • 2018-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多