【问题标题】:How to update the value of Websphere Resource Environment Provider custom properties using java code?如何使用 java 代码更新 Websphere Resource Environment Provider 自定义属性的值?
【发布时间】:2016-01-20 02:23:00
【问题描述】:

我们正在使用 Websphere 中定义的自定义属性,使用资源环境提供程序,该提供程序使用以下说明设置

http://www.ibm.com/developerworks/websphere/library/techarticles/0611_totapally/0611_totapally.html

我们已成功设置自定义属性并在 Java 代码 (servlet) 中读取这些属性。

自定义属性包括需要在运行时更新的属性。因此,我们正在寻找一种方法来更新 Java 代码 (servlet) 中这些自定义属性的值。我们有什么办法可以做到这一点?

此外,我们注意到需要重新启动服务器才能在应用程序中反映更新的值。有没有什么方法可以在不重启服务器的情况下传播更改?

【问题讨论】:

    标签: jakarta-ee servlets websphere jndi


    【解决方案1】:

    我不建议这样做。您的应用程序需要对服务器具有管理权限,并且在我看来,应用程序修改自己的服务器配置是脆弱的。最好使用内存解决方案(例如,单例 POJO 或单例 EJB)。

    如果你真的想这样做:

    1. 您需要使用AdminClientFactory获取AdminClient,然后创建ConfigServiceProxy查找相关配置对象并修改其属性。这些步骤将与您在 wsadmin 中执行的操作非常相似(但更详细)。在我看来,使用 ConfigServiceProxy 的最佳代码示例是 configuring JDBC

    2. 最终,您的资源环境提供程序配置存储在配置文件配置目录中的 resources.xml 配置文件中。在DataSourceCfgHelper MBean 上有一个reload 方法(放置有些尴尬),您可以使用它来动态重新加载resources.xml 文件(resources.xml 文件在应用程序重新启动之间偶然地自动重新加载)。上面的“配置 JDBC”链接也有一个调用这个 reload 方法的例子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-11
      • 1970-01-01
      相关资源
      最近更新 更多