Weblogic

CONFIGURACIÓN WEBLOGIC 12C

A partir de ahora se van a sustituir los despliegues que se realizaban en AST en servidores OC4J por servidores Weblogic 12c, utilizando también Java 7 y Ant 1.8

Java 1.7

JAVA\_HOME: C:\\Archivos de programa\\Java\\jdk1.7.0\_51
PATH: %JAVA\_HOME%\\jre\\bin
  • Verificamos la instalación desde una consola ms-dos : java –version

Ant 1.8

  • Descargar de http://archive.apache.org/dist/ant/binaries/ o utilizar el zip de H:\ecinform\Software\utilidades

  • Herramienta que utilizaremos para compilar

  • Descomprimir el zip en una carpeta

  • Añadir a las variables de entorno

ANT\_HOME: C:\\Programas\\apache-ant-1.8.4
PATH: %ANT\_HOME% \\bin
  • Verificamos la instalación desde una consola ms-dos: ant –version

Weblogic 12c Instalación

  • En H:\ecinform\Software\Servidores encontraremos el zip del servidor.
  • Extraer zip en: C:\Servidores\wls12120
  • Añadir a las variables de entorno (aunque no es necesario porque el script de arranque ya se encarga)
  • MW\_HOME=C:\\...\\wls12120
  • Ejecutar configure.cmd desde consola ms-dos
  • Configurar dominio respondemos que si Y
  • username / pass:
    • admin / admin12345
    • El password debe tener mínimo 8 posiciones (nº y letras)
  • El servidor se arrancará automáticamente esta primera vez
  • C:\Servidores\wls12120\user_projects\domains\mydomain\bin scripts de arranque y parada
  • Consola de administración: http://localhost:7001/console/login/LoginForm.jsp

Definir una conexión a base de datos

  • Antes de desplegar un ear desde la consola de administración, debemos definir la conexión a bd

  • Desde la consola de administración: http://localhost:7001/console/login/LoginForm.jsp

  • Servicios – Origenes de datos Nombre: poolxxx

  • Nombre de jndi: jdbc/poolxxx Nombre bd: orad

  • Nombre clase del controlador: oracle.jdbc.OracleDriver

  • Host: mallen.educa.aragon.es Puerto: 1526 Username: xxx Password: xxx

  • IMPORTANTE: se mostrará una última pantalla en la que aparece un check para que relacionemos el origen de datos con el dominio del weblogic que queremos relacionar. Marcamos el nuestro (único que hay)

Desplegar ear

IMPORTANTE: Seleccionar: Instalar despliegue como aplicación

MIGRAR A WEBLOGIC 12C DESDE OC4J

Nuevos ficheros

src / conf

  • weblogic-application.xml (ver punto 3.1)
  • web / WEB-INF
  • web.xml (modificaciones ver punto 3.3)
  • weblogic.xml (ver punto 3.2)
  • web/WEB-INF/ classes struts.xml (modificaciones ver punto 3.4)

Eliminar ficheros

src/conf

orion-application.xml

  • web / WEB-INF

  • orion-web.xml

Carpeta weblogic.lib

  • Añadimos la carpeta weblogic.lib y eliminamos la oc4j.lib
  • (El log4j.jar lo añado a lib y la saco de la liberías de weblogic.lib )

  • Un apunte de cara a un posible paso a AST:

    • Es posible que ellos ya hayan añadido al servidor el log4j.jar, por lo que al final igual hay que quitarlo.

ojdbc14.jar

javax.mail_1.1.0.0_1-4-4.jar

javax.servlet_2.1.0.0_3-0.jar

  1. FICHEROS

    1. ### weblogic-application.xml

Situado en src/conf

<?xml version=“1.0” encoding=“UTF-8”?>

<weblogic-application xmlns=“http://xmlns.oracle.com/weblogic/weblogic-application"

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation=“http://xmlns.oracle.com/weblogic/weblogic-application

http://xmlns.oracle.com/weblogic/weblogic-application/1.5/weblogic-application.xsd">

<application-param>

<param-name>webapp.encoding.default</param-name>

<param-value>ISO-8859-1</param-value>

</application-param>

</weblogic-application>

weblogic.xml

Situado en web / WEB-INF

<?xml version=“1.0” encoding=“UTF-8”?>

<weblogic-web-app xmlns=“http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation=“http://xmlns.oracle.com/weblogic/weblogic-web-app

http://xmlns.oracle.com/weblogic/weblogic-web-app/1.5/weblogic-web-app.xsd">

<container-descriptor>

<prefer-web-inf-classes>true</prefer-web-inf-classes>

<optimistic-serialization>true</optimistic-serialization>

<show-archived-real-path-enabled>true</show-archived-real-path-enabled>

</container-descriptor>

</weblogic-web-app>

web.xml

Situado en web / WEB-INF

En la etiqueta <env-entry> será necesario definir antes el type que el value para que no de problemas en weblogic.

Struts.xml

Situado en web / WEB-INF / classes. Añadir este código para que struts2 funcione en weblogic 12c

   <constant name=“struts.convention.action.mapAllMatches” value=“true” />
   <constant name=“struts.convention.action.includeJars” value=“.*?/_wl_cls_gen.*?jar(!/)?” />
   <constant name=“struts.convention.action.fileProtocols” value=“jar,zip” />

build.xml

-Definición variables: añado weblogic.lib y quito oc4j.lib  

-conf.dir : añado weblogic-application (grt\src\conf)

-javabin : cambio jdk

-prepare: quito orion y datasources y añado weblogic y en el war lo mismo

-ear :  añado weblogic

-Añado el log4j.jar en 2 sitios como todos los jar de lib

<project name=“grt” default=“ear” basedir=“.”>

<description>Fichero de configuración de la aplicacion de Gestion de Rutas de Transporte.</description>

<!– =================================================== –>

<!– Definicion de Variables –>

<!– =================================================== –>

<!– Nombre de la aplicacion –>

<property name=“nombreApl” value=“grt”/>

<!– Directorio con los ficheros web –>

<property name=“webroot.dir” value=”\${basedir}/web”/>

<!– Directorio Web-Inf –>

<property name=“webinf.dir” value=”\${webroot.dir}/WEB-INF”/>

<!– Directorio build –>

<property name=“build.dir” value=”\${basedir}/build”/>

<!– Directorio dist –>

<property name=“dist.dir” value=”\${basedir}/dist”/>

<!– Directorio con los ficheros de configuración –>

<property name=“conf.dir” value=”\${basedir}/src/conf”/>

<!– Directorio con los ficheros del war descomprimidos –>

<property name=“war.dir” value=”\${build.dir}/web”/>

<!– Directorio con las classes –>

<property name=“classes.dir” value=”\${war.dir}/WEB-INF/classes”/>

<!– Entorno que se quiere generar –>

<property name=“entorno” value=“loc”/>

<!– Directorio con las librerias propias de AST –>

<property name=“weblogic.lib” value=”\${basedir}/weblogic.lib”/>

<!– Ruta del ejecutable javac para compilar el proyecto –>

<!–<property name=“javabin” value=“C:\Archivos de programa\Java\jdk1.5.0_21\bin\javac”/>–>

<property name=“javabin” value=“C:\Archivos de programa\Java\jdk1.7.0_51\bin\javac”/>

<!– Si el valor es true, compila a traves del fichero especificado en la variable “javabin”–>

<property name=“fork” value=“true”/>

<!– =================================================== –>

<!– Operacion de borrado –>

<!– =================================================== –>

<target name=“clean”>

<!– Se borra el directorio de entorno del dist –>

<delete dir=”\${dist.dir}/\${entorno}” />

<!– Se borra el directorio war del build –>

<delete dir=”\${build.dir}” />

<!– Se crea el directorio de entorno del build –>

<mkdir dir=”\${dist.dir}/\${entorno}” />

<!– Se crea el directorio classes del build –>

<mkdir dir=”\${classes.dir}” />

</target>

<!– =================================================== –>

<!– Compilar el proyecto –>

<!– =================================================== –>

<target name=“javac”>

<javac srcdir=”\${basedir}/src/java” destdir=”\${classes.dir}/” executable=”\${javabin}” fork=”\${fork}” debug=“true” optimize=“false” deprecation=“false” includeantruntime=“false”>

<classpath>

<pathelement location=”\${classes.dir}/“/>

<fileset dir=”\${basedir}/lib/”>

<include name=”**/antlr-2.7.2.jar”/>

<include name=”**/commons-beanutils-1.8.0.jar”/>

<include name=”**/commons-chain-1.2.jar”/>

<include name=”**/commons-collections-3.2.jar”/>

<include name=”**/commons-digester-2.0.jar”/>

<include name=”**/commons-fileupload-1.2.1.jar”/>

<include name=”**/commons-io-1.3.2.jar”/>

<include name=”**/commons-logging-1.0.4.jar”/>

<include name=”**/commons-validator-1.3.1.jar”/>

<include name=”**/freemarker-2.3.16.jar”/>

<include name=”**/iText-2.1.7.jar”/>

<include name=”**/jasperreports-4.1.1.jar”/>

<include name=”**/javassist-3.7.ga.jar”/>

<include name=”**/jxl-2.6.10.jar”/>

<include name=”**/ognl-3.0.jar”/>

<include name=”**/oro-2.0.8.jar”/>

<include name=”**/poi-3.7-20101029.jar”/>

<include name=”**/struts2-convention-plugin-2.2.1.1.jar”/>

<include name=”**/struts2-core-2.2.1.1.jar”/>

<include name=”**/struts2-spring-plugin-2.1.8.1.jar”/>

<include name=”**/struts2-tiles-plugin-2.2.1.1.jar”/>

<include name=”**/xwork-core-2.2.1.1.jar”/>

<include name=”**/aopalliance-1.0.jar”/>

<include name=”**/org.springframework.aop-3.1.0.M1.jar”/>

<include name=”**/org.springframework.asm-3.1.0.M1.jar”/>

<include name=”**/org.springframework.beans-3.1.0.M1.jar”/>

<include name=”**/org.springframework.context-3.1.0.M1.jar”/>

<include name=”**/org.springframework.context.support-3.1.0.M1.jar”/>

<include name=”**/org.springframework.core-3.1.0.M1.jar”/>

<include name=”**/org.springframework.expression-3.1.0.M1.jar”/>

<include name=”**/org.springframework.jdbc-3.1.0.M1.jar”/>

<include name=”**/org.springframework.transaction-3.1.0.M1.jar”/>

<include name=”**/org.springframework.web-3.1.0.M1.jar”/>

<include name=”**/org.springframework.web.servlet-3.1.0.M1.jar”/>

<include name=”**/org.springframework.web.struts-3.1.0.M1.jar”/>

<include name=”**/quartz-1.5.2.jar”/>

<include name=”**/log4j-1.2.8.jar”/>

</fileset>

<fileset dir=”\${weblogic.lib}”>

<include name=”**/*.jar”/>

</fileset>

</classpath>

</javac>

</target>

<!– =================================================== –>

<!– Genera el ear descomprimido dentro del directorio build –>

<!– =================================================== –>

<target name=“prepare” description=“Genera el ear descomprimido dentro del directorio build”>

<!– Se copia el directorio web –>

<copy todir=”\${war.dir}”>

<fileset dir=”\${webroot.dir}” />

</copy>

<!– Se copian los ficheros de las fuentes que no son los fuentes –>

<copy todir=”\${classes.dir}”>

<fileset dir=”\${basedir}/src/java” >

<exclude name=”**/*.java”/>

</fileset>

</copy>

<!– Se crea el directorio de configuración –>

<mkdir dir=”\${war.dir}/WEB-INF/propertyFiles” />

<!– Se copian los ficheros de configuración–>

<copy file=”\${conf.dir}/propertyFiles/\${entorno}.\${nombreApl}.properties” tofile=”\${war.dir}/WEB-INF/propertyFiles/\${nombreApl}.properties” />

<copy file=”\${conf.dir}/propertyFiles/\${entorno}.log4j.properties” tofile=”\${war.dir}/WEB-INF/propertyFiles/log4j.properties” />

<!– Se copian las librerias –>

<copy todir=”\${war.dir}/WEB-INF/lib”>

<fileset dir=”\${basedir}/lib”>

<include name=”**/antlr-2.7.2.jar”/>

<include name=”**/antlr-2.7.2.jar”/>

<include name=”**/commons-beanutils-1.8.0.jar”/>

<include name=”**/commons-chain-1.2.jar”/>

<include name=”**/commons-collections-3.2.jar”/>

<include name=”**/commons-digester-2.0.jar”/>

<include name=”**/commons-fileupload-1.2.1.jar”/>

<include name=”**/commons-io-1.3.2.jar”/>

<include name=”**/commons-logging-1.0.4.jar”/>

<include name=”**/commons-validator-1.3.1.jar”/>

<include name=”**/freemarker-2.3.16.jar”/>

<include name=”**/iText-2.1.7.jar”/>

<include name=”**/jasperreports-4.1.1.jar”/>

<include name=”**/javassist-3.7.ga.jar”/>

<include name=”**/jxl-2.6.10.jar”/>

<include name=”**/ognl-3.0.jar”/>

<include name=”**/oro-2.0.8.jar”/>

<include name=”**/poi-3.7-20101029.jar”/>

<include name=”**/struts2-convention-plugin-2.2.1.1.jar”/>

<include name=”**/struts2-core-2.2.1.1.jar”/>

<include name=”**/struts2-spring-plugin-2.1.8.1.jar”/>

<include name=”**/struts2-tiles-plugin-2.2.1.1.jar”/>

<include name=”**/xwork-core-2.2.1.1.jar”/>

<include name=”**/aopalliance-1.0.jar”/>

<include name=”**/org.springframework.aop-3.1.0.M1.jar”/>

<include name=”**/org.springframework.asm-3.1.0.M1.jar”/>

<include name=”**/org.springframework.beans-3.1.0.M1.jar”/>

<include name=”**/org.springframework.context-3.1.0.M1.jar”/>

<include name=”**/org.springframework.context.support-3.1.0.M1.jar”/>

<include name=”**/org.springframework.core-3.1.0.M1.jar”/>

<include name=”**/org.springframework.expression-3.1.0.M1.jar”/>

<include name=”**/org.springframework.jdbc-3.1.0.M1.jar”/>

<include name=”**/org.springframework.transaction-3.1.0.M1.jar”/>

<include name=”**/org.springframework.web-3.1.0.M1.jar”/>

<include name=”**/org.springframework.web.servlet-3.1.0.M1.jar”/>

<include name=”**/org.springframework.web.struts-3.1.0.M1.jar”/>

<include name=”**/quartz-1.5.2.jar”/>

<include name=”**/log4j-1.2.8.jar”/>

</fileset>

</copy>

<!– Se crea el directorio META-INF de configuración del ear–>

<mkdir dir=”\${war.dir}/META-INF” />

<!– Se copia el contenido del Meta-inf del fichero ear–>

<copy file=”\${conf.dir}/MANIFEST.MF” tofile=”\${war.dir}/META-INF/MANIFEST.MF” />

<copy file=”\${conf.dir}/application.xml” tofile=”\${war.dir}/META-INF/application.xml” />

<copy file=”\${conf.dir}/weblogic-application.xml” tofile=”\${war.dir}/META-INF/weblogic-application.xml” />

</target>

<!– =================================================== –>

<!– Se genera el fichero war –>

<!– =================================================== –>

<target name=“war” depends=“clean, javac, prepare”>

<war destfile=”\${dist.dir}/\${entorno}/\${nombreApl}.war” webxml=”\${webinf.dir}/web.xml” manifest=”\${war.dir}/META-INF/MANIFEST.MF” >

<fileset dir=”\${war.dir}”>

<include name=”*.jsp” />

<include name=“jsp/**” />

<include name=“css/**” />

<include name=“images/**” />

<include name=“javascript/**” />

</fileset>

<webinf dir=”\${war.dir}/WEB-INF”>

<include name=“struts.xml” />

<include name=“propertyFiles/**” />

<include name=”**application*” />

<include name=“weblogic.xml”/>

</webinf>

<classes dir=”\${classes.dir}” />

<lib dir=”\${war.dir}/WEB-INF/lib/”>

<include name=”*.jar” />

</lib>

<metainf dir=”\${war.dir}/META-INF”>

<exclude name=“MANIFEST.MF” />

</metainf>

</war>

</target>

<!– =================================================== –>

<!– Se genera el fichero ear –>

<!– =================================================== –>

<target name=“ear” depends=“war”>

<ear destfile=”\${dist.dir}/\${entorno}/\${nombreApl}.ear” manifest=”\${war.dir}/META-INF/MANIFEST.MF” appxml=”\${war.dir}/META-INF/application.xml”>

<fileset dir=”\${dist.dir}/\${entorno}” includes=”\${nombreApl}.war”/>

<metainf file=”\${war.dir}/META-INF/weblogic-application.xml”/>

</ear>

</target>

</project>

origen

  • documento de Devid Clemente Weblogin_admin.DavidClemnte.doc

errores

  • problemas al desplegar EPCNT_ADM en el archivo applicationContext-WS.xml habia una referencia a EPACF_ADM de forma que si esta aplicación estaba desplegada en el mismo servidor donde se probaba EPCNT_ADM no daba problemas pero en caso contrario no desplegaba