【问题标题】:Reading common variable from J2EE and Java apps从 J2EE 和 Java 应用程序中读取公共变量
【发布时间】:2017-03-09 00:05:59
【问题描述】:

我不经常使用 WebSphere,不知道这是否可行。我希望我的 J2EE 或纯 Java 应用程序知道它在哪个机器上运行,即 PRODUCTION、DEVELOPMENT 或 TEST,并相应地使用 PROD、DEVL 或 TEST 资源。由于此信息对所有应用程序都是通用的,因此我不想将其存储在任何特定应用程序中。是否可以在所有 J2EE (Struts2) 应用程序和普通 Java 应用程序可访问的 Linux 机器上或 WebSphere 内(所有应用程序之外)存储(环境?)变量?我将不胜感激这方面的任何指示。谢谢。

【问题讨论】:

    标签: java variables jakarta-ee


    【解决方案1】:

    是的。我不是 WebSphere 用户,但快速搜索提供了以下信息:Setting environment entries in WebSphere Application Server

    WebSphere Application Server 7.0、8.0、8.5 和 8.5.5

    打开管理控制台。

    选择服务器 >(扩展服务器类型)> WebSphere 应用程序服务器 > server_name >(扩展 Java™ 和进程管理)> 进程定义 > 环境条目 > 新建。

    向名称/值对添加条目。

    点击确定。

    保存对主配置的更改并重新启动应用程序服务器。

    WebSphere 应用服务器 6.1

    打开管理控制台。

    选择服务器 > 应用程序服务器 > server_name >(扩展 Java™ 和进程管理)> 进程定义 > 环境条目 > 新建。

    向名称/值对添加条目。

    点击确定。

    保存对主配置的更改并重新启动应用程序服务器。

    我在 JBoss/Wildfly 中做几乎相同的事情。您只是在 JVM 的环境中设置了一个条目。

    根据第一条评论进行编辑:

    我认为您的 Java 应用程序与 WebSphere 上的 J2EE 应用程序没有在同一个 JVM 中运行,这是一个安全的猜测。独立的 JVM = 独立的环境。我们使用Java Web Start 来分发和启动来自不同环境的本地 Java 应用程序 - 每个服务器环境编写一个包含适当应用程序设置的 JNLP。如果您只需要同一台机器上的应用程序知道它们在哪里,您可以设置一个shell variable,正如您所说,WebSphere 和 Java 应用程序都可以读取它。

    编辑 #2,关于 WebSphere - 经过进一步调查:

    我还发现了这个,它是这个问题的部分副本:Place for setting environment variables for WebSphere JVM process。那里的答案指出,使用 WebSphere GUI 输入环境变量也更适合集群。

    您可能希望将 WebSphere 特定方法与 shell 变量结合使用。

    【讨论】:

    • 谢谢。我在stackoverflow.com/questions/6979958/… 尝试了这个和建议,但是当我执行 System.getenv("VAR") 时,它适用于我的 J2EE 应用程序,但不适用于我的 Java 应用程序。 System.getProperty 在任何一个应用程序中都不起作用
    • 另外,System.getProperty 在这里也不合适,因为您没有通过开关将信息传递给 java 命令,例如 # Set a system property. -Dcom.ibm.example.system.property=ExampleValue
    • 好的,谢谢。我会继续努力的。我一直使用 shell 变量,但是在机器重新启动时,似乎 WAS 在 shell 变量之前启动,因此我通过 WAS 获得了 shell 变量的 NULL。如果我重新启动 WAS 服务器,那么它会正确获取 shell 变量。
    猜你喜欢
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    • 2015-10-17
    • 2021-02-09
    • 1970-01-01
    相关资源
    最近更新 更多