访问 Websphere 6.1 变量

发布于 2024-09-13 12:09:40 字数 59 浏览 6 评论 0原文

我想从 java 类获取 Websphere 变量 APP_INSTALL_ROOT 的值。这怎么办呢。

I would like to get the value of the Websphere variable APP_INSTALL_ROOT from a java class. How can this be done.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

糖果控 2024-09-20 12:09:40

来自 IBM 信息中心:

您可以使用 WebSphere 变量来
为任何字符串提供设置
数据类型属性是
包含在产品配置中
文件。

因为应用程序
无法直接访问WebSphere
变量,如果您定义了 WebSphere
应用程序内部的变量,
错误消息,例如“未知
变量,”被返回。如果你必须
引用 WebSphere 变量
在应用程序中,包括
应用程序中的以下方法
展开使用的字符串
WebSphere 变量:

private String expandVariable(String s) throws
javax.management.JMException {  
com.ibm.websphere.management.AdminService as = 
com.ibm.websphere.management.AdminServiceFactory.getAdminService 
();  

String server = as.getProcessName();  

java.util.Set result = as.queryNames(new javax.management.ObjectName("*:*,type=AdminOperations,process=" 
+ server), null);  

return (String)as.invoke((javax.management.ObjectName) 
result.iterator().next(),"expandVariable",new Object[] 
{"${"+s+"}"}, new String[] {"java.lang.String"});

From IBM infocenter:

You can use WebSphere variables to
provide settings for any of the string
data type attributes that are
contained in the product configuration
files.

Because applications
cannot directly access WebSphere
variables, if you define a WebSphere
variable inside of an application, an
error message, such as "Unknown
variable," is returned. If you must
reference a WebSphere variable from
within an application, include the
following method in the application to
expand the string that uses the
WebSphere variable:

private String expandVariable(String s) throws
javax.management.JMException {  
com.ibm.websphere.management.AdminService as = 
com.ibm.websphere.management.AdminServiceFactory.getAdminService 
();  

String server = as.getProcessName();  

java.util.Set result = as.queryNames(new javax.management.ObjectName("*:*,type=AdminOperations,process=" 
+ server), null);  

return (String)as.invoke((javax.management.ObjectName) 
result.iterator().next(),"expandVariable",new Object[] 
{"${"+s+"}"}, new String[] {"java.lang.String"});
很快妥协 2024-09-20 12:09:40

在应用程序中获取 Websphere 变量值的另一种方法是在 WAS 控制台中定义一个指向您的 Websphere 变量的常规环境变量:

  1. 定义您的 websphere 变量 someVariable = someValue
  2. 转到(类似)Servers ->服务器类型 -> Websphere应用程序
    服务器->您的服务器 -> Java与进程管理->过程
    定义-> Java虚拟机->自定义属性
  3. 定义一个新变量 someVariable = ${someVariable}

现在通过 System.getProperty("someVariable") 访问该变量

Another way to get the value of a Websphere variable in your app is to define a regular environment variable in the WAS console pointing to your Websphere variable:

  1. Define your websphere variable someVariable = someValue
  2. Go to (something like) Servers -> Server Types -> Websphere application
    servers -> YOUR_SERVER -> Java and process management -> Process
    definition -> Java virtual machine -> Custmo properties
  3. Define a new variable someVariable = ${someVariable}

Now access the variable as System.getProperty("someVariable")

妖妓 2024-09-20 12:09:40

抱歉,我无法写评论。

我得到了由 ${} 包围的相同变量。未配置安全性。有什么提示吗? – xain

创建变量后必须重新启动服务器。

Sorry, i can't write a comment.

I get the same variable surrounded by ${}. No security configured. Any hints? – xain

You have to restart the server after your variables creation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文