Java应用程序中Weblogic域目录的路径

发布于 2024-11-28 15:40:27 字数 216 浏览 0 评论 0 原文

有没有一种简单的方法可以读取 Java 应用程序运行所在的 Weblogic 域的目录路径?

我可以使用 System.getProperty("weblogic.Name") 轻松访问服务器的名称,但我不知道保存 Weblogic 域文件夹路径的变量是什么(如果有的话)。

我知道我可以设置一个这样的变量,但我想知道 Weblogic 中是否已经有一个变量。

非常感谢

Is there an easy way of reading the directory path of the Weblogic domain the Java application is running in?

I can easily access the name of the server with System.getProperty("weblogic.Name") but I don't know what is the variable that holds the path of the Weblogic domain folder if there is one at all.

I know I could set up a variable like this but I was wondering if there is one already in Weblogic.

Many thanks

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

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

发布评论

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

评论(2

若有似无的小暗淡 2024-12-05 15:40:27

System.getProperty("weblogic.Name") 将返回 WebLogic 服务器的名称,因为它是在服务器启动期间通过 JVM 参数从脚本 startWebLogic.sh 或 startWebLogic.cmd 传递的:

%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% -Dweblogic.Name=%SERVER_NAME% ...

您可以添加另一个 JVM 参数来传递 WebLogic 域,该参数可用作环境变量 DOMAIN_HOME

%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% -Dweblogic.Name=%SERVER_NAME% -Dweblogic.domainDir=%DOMAIN_HOME%...

然后您可以使用读取它

System.getProperty("weblogic.domainDir");

您也可以直接使用读取环境变量 DOMAIN_HOME System.getenv(String)

String domainDir = System.getenv("DOMAIN_HOME");

System.getProperty("weblogic.Name") will return the WebLogic server's name as it is passed via a JVM argument during startup of the server, from the script startWebLogic.sh or startWebLogic.cmd:

%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% -Dweblogic.Name=%SERVER_NAME% ...

You can add another JVM argument to pass the WebLogic domain, that is available as the environment variable DOMAIN_HOME:

%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% -Dweblogic.Name=%SERVER_NAME% -Dweblogic.domainDir=%DOMAIN_HOME%...

which you can then read using

System.getProperty("weblogic.domainDir");

You can also read the environment variable DOMAIN_HOME directly using System.getenv(String):

String domainDir = System.getenv("DOMAIN_HOME");
ゞ记忆︶ㄣ 2024-12-05 15:40:27

您可以使用 JMX 服务从“RuntimeService >”获取域主目录。域配置>根目录'.您可以使用以下代码从应用程序内获取域目录。

InitialContext ctx = new InitialContext();
MBeanServer server = (MBeanServer)ctx.lookup("java:comp/env/jmx/runtime"); 
ObjectName service = new ObjectName("com.bea:Name=RuntimeService,Type=weblogic.management.mbeanservers.runtime.RuntimeServiceMBean");
ObjectName domain = (ObjectName)server.getAttribute(service, "DomainConfiguration");
System.out.println(server.getAttribute(domain, "RootDirectory"));

有关更多信息,您可以参考 http://download.oracle.com/docs/cd/E17904_01/web.1111/e13728/accesswls.htm#JMXCU144

You can use the JMX service to get hold of the domain home directory from the 'RuntimeService > DomainConfiguration > RootDirectory'. You can use the following code to get hold of the domain directory from within an app.

InitialContext ctx = new InitialContext();
MBeanServer server = (MBeanServer)ctx.lookup("java:comp/env/jmx/runtime"); 
ObjectName service = new ObjectName("com.bea:Name=RuntimeService,Type=weblogic.management.mbeanservers.runtime.RuntimeServiceMBean");
ObjectName domain = (ObjectName)server.getAttribute(service, "DomainConfiguration");
System.out.println(server.getAttribute(domain, "RootDirectory"));

For more information you can refer to http://download.oracle.com/docs/cd/E17904_01/web.1111/e13728/accesswls.htm#JMXCU144

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