如何在不同的Java JDK版本上拥有托管服务器

时间:2015-10-13 18:15:01

标签: java-7 weblogic12c java-6

我在运行WebLogic 12.1.2的Windows Server 2008 R2实例上安装了多个域。 当我创建域时,我将运行时JDK设置为1.7。

在每个域中,我都有一个管理服务器(没有已部署的应用程序)和6-20个托管服务器。

对于部署了特定应用程序的2-10个托管服务器, 我想将JDK更改为1.6。

我该怎么做?

注意:我们正在尝试隔离性能问题,并想知道最近从1.6升级到1.7是否会导致问题。一旦我们知道它是否存在,那么我们就可以尝试找到1.7不喜欢的代码。因此,我们重建(使用1.6)具有该问题的一个服务应用程序,并重新运行(长时间运行)测试以比较运行时间。

2 个答案:

答案 0 :(得分:1)

我今天用Weblogic 12c测试了它。

  1. 更新 / u01 / oracle / middleware / user_projects / domains / {DOMAIN_NAME} /bin/setDomainEnv.sh (在{domain directory} / bin下找到setDomainEnv.sh)。

    BEA_JAVA_HOME =“”更改为 BEA_JAVA_HOME =“/ u01 / oracle / java / jdk1.8.0_51”(jdk1.8.0_51是新的jdk主目录,你的版本可能会有所不同。)

  2. 在Weblogic管理控制台上更新托管服务器的“服务器启动”配置,指定新的Java主页: /u01/oracle/java/jdk1.8.0_51 和Java供应商:甲骨文

  3. 重新启动受管服务器。

  4. ps -ef |来自* nix控制台的grep {managed server name}以确认运行托管服务器的java版本。

  5. 按照这些步骤,我可以使用原始jdk运行其他托管服务器,同时切换选定的托管服务器以使用jdk1.8.0_51运行。

    祝你好运!

答案 1 :(得分:-1)

如果WLS 12.1.2支持JDK1.6,我不确定。

转到DOMAIN_HOME / bin下的setDomainEnv.cmd文件     BEA_JAVA_HOME =" /path/to/jdk1.6"     导出BEA_JAVA_HOME

SUN_JAVA_HOME="/path/to/jdk1.8"
export SUN_JAVA_HOME

if [ "${JAVA_VENDOR}" = "Oracle" ] ; then
        JAVA_HOME="${BEA_JAVA_HOME}"
        export JAVA_HOME
else
        if [ "${JAVA_VENDOR}" = "Sun" ] ; then
                JAVA_HOME="${SUN_JAVA_HOME}"
                export JAVA_HOME
        else
                JAVA_VENDOR="Sun"
                export JAVA_VENDOR
                JAVA_HOME="${SUN_JAVA_HOME}"
                export JAVA_HOME
        fi
fi

然后转到管理控制台,转到Managed_server>配置>服务器启动

按照setDomainEnv.cmd中的定义设置JAVA_HOME和JAVA_VENDOR

您可以通过在setDomainEnv.cmd中定义JAVA_HOME和JAVA_VENDOR来设置任意数量的JAVA_HOME。我自己有4个不同的JDK配置为由同一个域使用。

您可以使用管理控制台检查运行受管服务器的当前JDK版本:

转到managed_server>监控>一般