在 Weblogic JVM 中设置的自定义参数
我需要为 Weblogic 中的每个服务器 JVM 设置一个自定义属性。更好的方法是什么?
我知道我们可以指定如下参数:
- 在“域结构”窗格中,展开“服务器”节点。
- 单击要配置的服务器的名称。
- 在右侧窗格中,单击“服务器启动”。
- 选择“锁定”编辑。
- 在“参数”文本框中,提供 JVM 选项。插入选项后,单击“保存”。然后单击激活更改。
- 重新启动服务器以便使用新设置。
我的问题是这个论点到底是如何定义的?如何在将部署在该 JVM 内的应用程序内使用该参数。
编辑
如果我指定,-DMyArg=MyValue
在代码中, value=System.getproperty("MyValue");
这应该有效,对吗?
I need a custom property to set per each server JVM in Weblogic. What is the better approach doing it?
I know we can specify the argments like below:
- In the Domain Structure pane, expand the Servers node.
- Click the name of the server that you want to configure.
- In the right pane, click Server Start.
- Select Lock & Edit.
- In the Arguments text box, provide the JVM options. After inserting your options, click Save. Then click Activate Changes.
- Restart the server so that the new settings are used.
My question is how exactly the argument is defined? How to use that argument inside the application that will be deployed inside that JVM.
Edit
If i specify, -DMyArg=MyValue
and in the code, value=System.getproperty("MyValue");
this should work, right?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
轻微错误,您应该使用
This,但是仅适用于启用 NodeManager 的情况。如果情况并非如此,我所做的就是在 startWeblogic.cmd 中将其设置为 Java_Options 之一
更好的是 setDomainEnv.cmd,其中包含以下行
Slight mistake, you should use
This however only works with NodeManager enabled. If that's not the case, what I do is to set it in the startWeblogic.cmd as one of the Java_Options
Even better is the setDomainEnv.cmd which has lines for
在bin目录下编辑
setDomainEnv.sh
找到以下行:
如果设置了
USER_MEM_ARGS
环境变量,则使用它来覆盖ALL MEM_ARGS
添加以下行并相应修改值
对于管理服务器
对于托管服务器
Under bin directory edit
setDomainEnv.sh
find the below line:
If
USER_MEM_ARGS
the environment variable is set, use it to overrideALL MEM_ARGS
add the below lines and modify the values accordingly
For Admin Server
For Managed Server
如果您需要“为 weblogic 中的每个服务器 JVM 设置自定义属性”,那么使用 startWeblogic.cmd 或 setDomainEnv.cmd 是不够的,因为它们将为您的所有服务器设置相同的值。服务器。
如果未启用 NodeManager,您可以做的一件事是手动编辑 config.xml 文件并在
元素> 每个服务器的元素。
但是 - 不建议这样做(请参见此处:http://docs .oracle.com/cd/E23943_01/web.1111/e13716/config_files.htm)。更好地依赖 NodeManger 并使用您描述的过程。
除此之外,上面的答案
value=System.getProperty("MyArg");
是正确的。If you need a "custom property to set per each server JVM in weblogic", then using the startWeblogic.cmd or setDomainEnv.cmd won't be enough as they will set the same value for all of your servers.
One thing you could do if the NodeManager is not enabled is manually edit the config.xml file and add/edit the
<arguments>
element under the<server-start>
element for each server.But - this is not recommended (see here: http://docs.oracle.com/cd/E23943_01/web.1111/e13716/config_files.htm). Much better to rely on the NodeManger and use the procedure you described.
Other than that the above answer
value=System.getProperty("MyArg");
is correct.我通常为 DOMAIN_HOME 下的每个托管服务器创建简单的调用脚本,这些脚本又调用 /bin 目录中的通用启动脚本 - 就像 WebLogic 自动为管理服务器创建的脚本一样。我知道你可以通过这种方式覆盖内存参数,并且我很确定你可以更改 JVM。
下面是一个经过测试的 Windows 脚本示例:
我想在 UNIX 中会是这样的(抱歉,我不太了解 bash 脚本):
我认为要更改 JVM,它会是这样的:
有兴趣听听任何人的意见对此的反馈。希望它能帮助某人。 。 。
I usually create simple call scripts for each managed server under DOMAIN_HOME, that in turn call the generic start scripts in the /bin directory - like the one that WebLogic automatically creates for the Admin Server. I know you can override memory arguments this way and I'm pretty sure you can change JVM.
Here's an example of a tested script for Windows:
which I guess in UNIX would be something like this (sorry don't know much about bash scripts):
I think to change the JVM it would be something like:
Would be interested to hear anyone's feedback on this. Hope it helps someone . . .
您可以通过修改以下文件来完成
C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\bin\startWebLogic.cmd
在我的例子中它是域 base_domain。
找到下一行并编辑。
例子
You can do it by modifying the following file
C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\bin\startWebLogic.cmd
in my case it is the domain base_domain.
find the next line and edit.
Example
如果您使用的是 Windows,请导航至
%OracleHome%\user_projects\domains\base_domain\bin
在记事本++中编辑
setDomainEnv.cmd
找到设置最终 JAVA_OPTIONS 的行,
您可以在此行上方添加您的客户 java 参数。例如,
现在如果您的 WebLogic 正在运行,请停止并重新启动管理控制台。您将能够在命令提示符或 Eclipse 控制台中验证 WebLogic 是否已使用您的客户 java 参数启动,
现在在您的应用程序中您可以通过 System.getProperty("custom.prop") 访问它
If you are using Windows, navigate to
%OracleHome%\user_projects\domains\base_domain\bin
Edit the
setDomainEnv.cmd
in note pad++Find the line where the final JAVA_OPTIONS are set,
You can have your customer java arguments above this line. Something like,
Now if you WebLogic is running please stop and restart the Admin Console. You will be able to verify in the command prompt or eclipse console that WebLogic is started with your customer java args,
Now in your appliation you can access it by
System.getProperty("custom.prop")