Archivo de la categoría: OC4J

Not in an application scope – start OC4J with the -userThreads switch if using user-created threads

Cuándo dentro del servidor OC4J se produce el siguiente error:
Not in an application scope – start OC4J with the -userThreads switch if using user-created threads
Este error se produce dentro de un proyecto J2EE que dispone de código fuente que genera hilos bajo demanda del programador. El servidor detecta dicha generación manual y muestra el mensaje de error dando una pista sobre cómo solucionar el problema de compatibilidad.

En el caso concreto comentado es obligatorio utilizar el atributo -userThreads («Enables context lookup support from user-created threads») del servidor OC4J. Esto permite que el servidor sea capaz de gestionar además de los hilos internos propios también los creados manualmente por el usuario desde la aplicación J2EE.

Este parámetro debe indicarse en el Script de arranque del servidor (en caso de ejecutarse des de consola también debe añadirse como parámetro):
java -jar oc4j.jar -userthreads
Documentación Oficial:

Errores comunes del servidor OC4J

Errores JMS

A través de la consola de comandos se muestra un error como el siguiente:

2013-11-13 15:49:56.330 ERROR J2EE OJR-00011 Excepción al iniciar el servidor JMS: Error parsing jms-server config at file:/C:/PRO_MAVEN/OC4J_10g_TRUNK/j2ee/home/config/jms.xml: /C:/PRO_MAVEN/OC4J_10g_TRUNK/j2ee/home/config/jms.xml, Fatal error at line 27 offset 12 in file:/C:/PRO_MAVEN/OC4J_10g_TRUNK/j2ee/home/config/jms.xml: .<Line 27, Column 12>: XML-20211: (Error Fatal) No está permitido '--' en comments.
Solución:
  • Parar el servidor de aplicaciones.
  • Acceder a la ruta – <PATH>/j2ee/home/persistence/- de la instalación del servidor OC4J.
  • Borrar el fichero jms.state.
  • Reiniciar el servidor.

 

Error ParserConfigurationException

A través de la consola de comandos se muestra un error como el siguiente:

ERROR [2013-12-03 15:18:55,759] [Digester] Digester.getParser:
javax.xml.parsers.ParserConfigurationException: XML document validation is not s
upported
at com.bluecast.xml.JAXPSAXParserFactory.newSAXParser(JAXPSAXParserFacto
ry.java:105)
at org.apache.commons.digester.Digester.getParser(Digester.java:686)
at org.apache.commons.digester.Digester.getXMLReader(Digester.java:902)
at org.apache.commons.digester.Digester.parse(Digester.java:1548)
at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionSe
rvlet.java:1006)
Solución:

No se está utilizando una JDK compatible con el servidor. OC4J es compatible solamente con la JDK 1.4 y este es un error correspondiente al uso del servidor con una JDK superior.

Rutas de instalación del servidor OC4J

Las rutas de instalación por defecto del servidor OC4J son las siguientes:

  • En la ruta OC4J_10g_TRUNK/j2ee/home/applications/<nombre_aplicación>/APP-INFlib/, se pueden encontrar las librerías compartidas por todas las aplicaciones y que el servidor lo carga en su classpath.
  •  En la ruta OC4J_10g_TRUNK/j2ee/home/applications/<nombre_aplicación>/, ruta dónde se encuentra todas las aplicaciones desplegadas en el servidor.
  • En  la ruta OC4J_10g_TRUNK/j2ee/home/application-deployments/, se encuentra la CACHE de las aplicaciones (en generar se puede dejar vacía si quiere disponer más espacio libre).

Variables de Entorno para OC4J

Para realizar la instalación de un servidor de aplicaciones OC4J en un entorno Windows es necesario habilitar las siguientes variables de entorno para obtener una instalación correcta y estable.

La variables a definir son las siguientes:

J2EE_HOME
-Valor: <Directorio_Instalacion_OC4j>/OC4J_TRUNK/j2ee/home
-Descripción: Opcional. Acceso a los ficheros oc4j.jar y admin.jar. Estableciendo estas variables  podrán invocarse estos Jars des de cualquier directorio.
OC4J_JVM_ARGS
-Valor: -XX:PermSize=256m -XX:MaxPermSize=256m -Xms512m -Xmx768m

-Descripción:

Obligatoria. Pueden agregarse cualquier tipo de parámetros a la máquina virtual de Java al iniciar el servidor.  En el caso de ejemplo se aumenta la  memoria  reservada para el cargador de clases:

                 -XX:PermSize=256m -XX:MaxPermSize=256m
Y para la para la pila:
                 -Xms512m -Xmx768m
ORACLE_HOME
-Valor: <Directorio_Instalacion_OC4j>/OC4J_TRUNK 

Dentro del Path del sistema debe incluirse el siguiente valor:

                                  %ORACLE_HOME%bin;

permitiendo el arranque y parada del servidor des de la consola de comandos de Windows.

-Descripción:

Obligatoria. Apunta al directorio raíz de la instalación del OC4J.

Es obligatorio definir esta variable si se desea ejecutar un script ejecutable del servidor mediante el fichero OC4J.