Websphere Console 9.0 - 在 websphere 控制台中指定应用程序特定文件路径的位置

Websphere Console 9.0 - where to specify Application specific files paths in websphere console

我们的 RHEL 8.3 OS 中安装了 Websphere 9.0 版。 现在,我已经部署了一个网络应用程序 - .war 文件,其中包含多个模块 - 网络服务、网络模块等。 此 war 已成功部署,我也能够启动它,同时转到 Websphere Enterprise Applications - AppName - START。 该应用程序开始时显示一条成功消息。

现在问题就摆在眼前了。我们的应用程序需要某个文件 bootstrap.properties。 该文件有几个配置,如 jdbc 参数、jmx 端口、jms 配置、jvm 参数、日志记录路径等。

一旦此应用程序的 Web 模块在 <SERVER_IP>:9080/Context url 上 运行,它就会在 GUI 上抛出错误,提示 Unable to locate bootstrap.properties

在代码层面分析,发现下面的代码抛出了这个错误:

    private static Properties config;
private static final String CONFIG_ROOT = System.getProperty("bootstrap.system.propertiespath");
private static final String configFile = "bootstrap.properties";

private JMXConfig() {
}

public static String getConfigRoot() {
    if (CONFIG_ROOT == null) {
        System.err.println("Not able to locate bootstrap.properties.  Please configure bootstrap.system.propertiespath property.");
        throw new ConfigException("Unable to locate bootstrap.properties.");
    } else {
        return CONFIG_ROOT + File.separator;
    }
}

我想知道我们在哪里可以指定 Websphere 控制台中的绝对路径,一旦加载应用程序,我们的 属性 文件就可以作为系统参数读取。

由于您正在使用 System.getProperty() 读取 属性,因此需要将其指定为 Java 系统 属性 传递到 JVM 中。您可以从 JVM 配置面板执行此操作,将其添加为 JVM 上的自定义 属性 或服务器通用 JVM 参数中的 -D 选项。

自定义 属性: https://www.ibm.com/docs/en/was/9.0.5?topic=jvm-java-virtual-machine-custom-properties

通用 JVM 参数:https://www.ibm.com/docs/en/was/9.0.5?topic=jvm-java-virtual-machine-settings(搜索“通用 JVM 参数”)

请注意,如果您使用自定义 属性,您只需将“名称”字段设置为“bootstrap.system.propertiespath”并将“值”设置为您需要的路径;如果您使用通用的 JVM 参数,您将添加一个结构为“-Dbootstrap.system.propertiespath=/path/to/file”的参数。