¿Cómo cambiar de JDK en tu dominio de Weblogic?

Hace unos días pude hacer un cambio de Laptop y eso provocó que volviera a instalar todo mi software de Oracle.

Por alguna razón no instalé JRockit desde el inicio, simplemente bajé el JDK tradicional y empecé a instalar SOA Suite, OSB, BPM ,etc.

Después de varios días de estar probando algunas cosas, me di cuenta que mi soa_server1 estaba dando mucho problema, simplemente se iba a estado UNKNOWN cada cierto tiempo.

Me pareció muy extraño, pero al no haber nada en los logs, empecé a dudar de si era causado por algún fallo de la JVM.

Para no dedicarle mucho tiempo, decidí instalar JRockit (28) y con éste mi instalación ha estado muy estable.

¿Qué hice para hacer el switcheo de JDK?

En realidad es muy simple. Lo único que toqué , fue el archivo setDomainEnv.bat.

Antes tenía esto:

set BEA_JAVA_HOME=

set SUN_JAVA_HOME=C:\oracle\Java\jdk1.6.0_35

set UMS_ORACLE_HOME=C:\oracle\MWSOA\Oracle_SOA1


set SOA_ORACLE_HOME=C:\oracle\MWSOA\Oracle_SOA1


set SOA_ORACLE_HOME=C:\oracle\MWSOA\Oracle_SOA1


if "%JAVA_VENDOR%"=="Oracle" (
    set JAVA_HOME=%BEA_JAVA_HOME%
) else (
    if "%JAVA_VENDOR%"=="Sun" (
        set JAVA_HOME=%SUN_JAVA_HOME%
    ) else (
        set JAVA_VENDOR=Sun
        set JAVA_HOME=C:\oracle\Java\jdk1.6.0_35
    )
)

Después de mi cambio, quedó así:

set BEA_JAVA_HOME=C:\oracle\jrockit28

set SUN_JAVA_HOME=C:\oracle\Java\jdk1.6.0_35

set UMS_ORACLE_HOME=C:\oracle\MWSOA\Oracle_SOA1


set SOA_ORACLE_HOME=C:\oracle\MWSOA\Oracle_SOA1


set SOA_ORACLE_HOME=C:\oracle\MWSOA\Oracle_SOA1


set JAVA_VENDOR=Oracle

if "%JAVA_VENDOR%"=="Oracle" (
    set JAVA_HOME=%BEA_JAVA_HOME%
        set JAVA_VENDOR=Oracle
) else (
    if "%JAVA_VENDOR%"=="Sun" (
        set JAVA_HOME=%SUN_JAVA_HOME%
    ) else (
        set JAVA_VENDOR=Sun
        set JAVA_HOME=C:\oracle\Java\jdk1.6.0_35
    )
)

 

Si se dan cuenta en las líneas en rojo que resalté, sólo declaré el BEA_JAVA_HOME y lo apunté a mi instalación de JRockit. Además, forcé establecer el JAVA_VENDOR a Oracle, con eso todo mis servers arrancan con JRockit:

image

Cabe mencionar que elementos como el NodeManager no se ven afectados por este cambio, para esto, tienes que entrar a los archivos de propiedades del node manager, para hacer el cambio en cuestión.

Esto también te puede ayudar a realizar cambios de versión de JDK, si es que constantemente lo vas actualizando. Es muy simple.