Websphere 在应用程序面板中定义自定义属性-如何在代码中获取值?

Websphere 在应用程序面板中定义自定义属性-如何在代码中获取值?,websphere,websphere-8,Websphere,Websphere 8,在IBM WebSphere web管理控制台中,可以转到应用程序->WebSphere企业应用程序,选择一个应用程序并单击“自定义属性”链接。将有一个页面添加键值对。如何从代码中访问这些值?这些属性似乎不会出现在系统属性或ServletContext中。在我7年的IBM WebSphere Application Server职业生涯中,我从未见过它被使用过。我认为如果它曾经被使用过,那么它是如此罕见,以至于我会称它为支持它的IBM WebSphere过去版本的遗留功能 对于特定于应用程序的配

在IBM WebSphere web管理控制台中,可以转到应用程序->WebSphere企业应用程序,选择一个应用程序并单击“自定义属性”链接。将有一个页面添加键值对。如何从代码中访问这些值?这些属性似乎不会出现在系统属性或ServletContext中。

在我7年的IBM WebSphere Application Server职业生涯中,我从未见过它被使用过。我认为如果它曾经被使用过,那么它是如此罕见,以至于我会称它为支持它的IBM WebSphere过去版本的遗留功能


对于特定于应用程序的配置设置,我强烈建议对web应用程序使用
web.xml
,或对web应用程序和其他应用程序类型使用注释。

我在WAS ND 8.5上对此进行了测试。 向应用程序添加自定义属性会将其添加到deployment.xml

我用属性name=“testprop”value=“true”更新了\DefaultApplication.ear。它在这里得到更新:

C:\WASNEW85\WebSphere\AppServer\profiles\Dmgr01\config\cells\cell01\applications\DefaultApplication.ear.ear\deployments\DefaultApplication.ear

该值显示:

<properties xmi:id="Property_1424805152486" name="testprop" value="true" description="test-forum" required="false"/>


我希望这有帮助

在IBM WebSphere Application Server版本7或版本8上设置webcontainer自定义属性

  • 在管理控制台中,单击“服务器”,在“服务器”下单击“服务器类型”,在“服务器类型”下单击“WebSphere应用程序服务器”
  • 单击要应用自定义属性的服务器
  • 在“配置”和“容器设置”下单击“Web容器设置”,在“Web容器设置”下单击“Web容器”
  • 在“配置”和“其他属性”下,单击“自定义属性”
  • 在“自定义属性”页面中,单击“新建”
  • 在“设置”页面中,在“名称”字段中输入要添加的自定义特性的名称,并在“值”字段中输入要为自定义特性设置的值。请注意,某些属性区分大小写
  • 单击“应用”或“确定”
  • 在出现的“消息”框中单击“保存”
  • 重新启动服务器以使自定义属性生效

  • 在IBM WebSphere Application Server版本6上设置webcontainer自定义属性:

  • 在管理控制台中,单击“服务器”,然后在“服务器”下单击“应用程序服务器”
  • 单击要应用自定义属性的服务器
  • 在“配置”和“容器设置”下单击“Web容器设置”,在“Web容器设置”下单击“Web容器”
  • 在“配置”和“其他属性”下,单击“自定义属性”
  • 在“自定义属性”页面中,单击“新建”
  • 在“设置”页面中,在“名称”字段中输入要添加的自定义特性的名称,并在“值”字段中输入要为自定义特性设置的值。请注意,某些属性区分大小写
  • 单击“应用”或“确定”
  • 在出现的“消息”框中单击“保存”
  • 重新启动服务器以使自定义属性生效

  • 使用wsadmin在WebSphere Application Server版本6上设置webcontainer自定义属性:

  • 创建jacl脚本以添加/更新自定义属性
  • 确保服务器正在运行
  • 使用“wsadmin-f.jacl”在wsadmin中运行jacl脚本
  • 重新启动服务器以使自定义属性生效
  • 这个答案并不完全针对这个主题,但它可以解决为WebSphere管理的Web应用程序定义和设置配置属性的问题

    在WebSphere下为Web应用程序定义配置设置的最简单方法如下:

  • 使用
    servlet
    初始化参数定义Web应用程序设置:
  • web.xml

    
    我的servlet
    my.servlet.ClassName
    someConfigurationPropertyName
    可以设置此值
    
  • 可以使用Web管理控制台更改这些
    servlet
    参数的值,您可以在
    Enterprise Applications>your Web application name>Initialize parameters for servlet

  • 有趣。我在WAS 8中看到了这一点,但在WAS 6.1中没有看到。在WAS 6.1中,我只看到ApplicationServer>JVM下的自定义属性,这些属性确实成为了系统属性(我们使用它们)。有许多地方会出现自定义属性,例如JVM、Web容器、WebSphere MQ、策略集绑定等,但这个特定问题涉及应用程序,我认为它们不是从WebSphere(运行时环境)传递信息的手段对于企业应用程序来说,有更好的方法,正如我在下面的回答中所描述的。我来晚了……但如果其他人看到这一点,1)WebSphere自定义属性确实是好的和有用的,2)dbreaux是正确的-您可以将它们作为普通的系统属性在Java中阅读:
    String propVal=System.getProperty(“my.custom.property”)
    WAS 9没有出现在System.getProperty()中,当您从企业应用程序添加时,如OP所示。仅检查我的WAS 6.1和8.0服务器,我在8.0中看到了这一点,但在6.1中没有看到。我在IBM WebSphere的8年职业生涯中也从未见过它:),我认为这是全新的东西。如果这是我认为的话(应用程序级的系统道具)这将非常方便。但它不起作用。因此,可能它不是我认为的那样,可能它只允许IBM属性定义的某些特定属性来配置应用程序的运行方式,而不允许您定义系统属性。可能有人确实知道?这如何回答问题,即以编程方式访问自定义属性?