2011-11-16 266 views
10

我需要一个定制属性来为Weblogic中的每个服务器JVM设置。做得更好的方法是什么?在Weblogic JVM中设置自定义参数

我知道我们可以指定像下面的argments:

  1. 在域结构窗格中,展开服务器节点。
  2. 单击您要配置的服务器的名称。
  3. 在右侧窗格中,单击服务器启动。
  4. 选择锁&编辑。
  5. 在Arguments文本框中,提供JVM选项。插入选项后,点击保存。然后点击激活更改。
  6. 重新启动服务器,以便使用新设置。

我的问题是如何定义参数?如何在将被部署在该JVM中的应用程序内使用该参数。

编辑

如果我指定,-DMyArg=MyValue 并在代码,value=System.getproperty("MyValue");这应该工作,对不对?

+0

要使用WLST追加serverstart ARGS检查我的答案[这里](http://stackoverflow.com/questions/12629395/weblogic-using-environment-variable-double-quotes-in-参数在服务器/ 12634463#12634463) – Mani

回答

8

编辑:如果我指定, “-DMyArg = myvalue的”,并在代码, 值= System.getproperty( “myvalue的”);这应该工作,对吧?

稍有不慎,你应该使用

value=System.getProperty("MyArg"); 

但是,这仅启用节点管理器的工作原理。如果不是这种情况,我做的是将其设置在startWebLogic.cmd中为JAVA_OPTIONS

更妙的一个是具有

set EXTRA_JAVA_PROPERTIES=... 
+2

但setDomainEnv.cmd在顶部说:#警告:该文件是由配置向导创建的。 #向此配置添加扩展名时,此脚本的任何更改都可能会丢失。 –

0

线的setDomainEnv.cmd如果你需要一个“ 自定义属性设置每个服务器JVM在weblogic“,然后使用startWeblogic.cmd或setDomainEnv.cmd将是不够的,因为它们将为您的所有服务器设置相同的值。

如果NodeManager未启用,您可以执行的一件事是手动编辑config.xml文件并在每个服务器的<server-start>元素下添加/编辑<arguments>元素。

但是 - 这不建议(见这里:http://docs.oracle.com/cd/E23943_01/web.1111/e13716/config_files.htm)。更好地依赖NodeManger并使用你描述的过程。

除此之外,上面的回答value=System.getProperty("MyArg");是正确的。

0

我通常会为DOMAIN_HOME下的每个受管服务器创建简单的调用脚本,然后调用/ bin目录中的通用启动脚本 - 就像WebLogic为Admin Server自动创建的一样。我知道你可以用这种方式重写内存参数,我很确定你可以改变JVM。

下面是一个用于Windows的测试脚本的例子:

cd bin 
SET USER_MEM_ARGS=-Xms512m -Xmx512m 
startManagedWebLogic.cmd new_ManagedServer_1 localhost:7001 

我在UNIX猜会是这样的(对不起不很了解的bash脚本):

cd bin 
export USER_MEM_ARGS="-Xms512m -Xmx512m" 
./startManagedWebLogic.sh new_ManagedServer_1 localhost:7001 

我认为要改变JVM它会是这样的:

export JAVA_VENDOR="Oracle" 
export USER_MEM_ARGS="-Xms512m –Xmx1g" 
./startWebLogic.sh 

会有兴趣听到任何e对此的反馈。希望它能帮助别人。 。 。

0

下的bin目录编辑setDomainEnv.sh 找到下面一行:

如果USER_MEM_ARGS环境变量设置,用它来重写ALL MEM_ARGS 添加下面的线条和修改值相应

对于管理服务器

`if [ "${SERVER_NAME}" = "AdminServer" ] ; then 
USER_MEM_ARGS="-Xms256m -Xmx256m -XX:MaxPermSize=256m" 
MEM_ARGS="${USER_MEM_ARGS}" 
export MEM_ARGS 
fi` 

对于托管服务器

`if [ "${SERVER_NAME}" != "AdminServer" ] ; then 
USER_MEM_ARGS="-Xms512m -Xmx512m -XX:MaxPermSize=256m" 
MEM_ARGS="${USER_MEM_ARGS}" 
export MEM_ARGS 
fi`