2010-08-18 16 views
5

Estoy desarrollando la aplicación j2ee en glassfish v3 que llamará remotamente a EJB implementado en el servidor de aplicaciones jboss 5. Para que esto funcione, mi aplicación debe tener jarss de clientes en la ruta de clases. Logré hacer esto al empacar archivos jar de cliente con mi aplicación, pero esto aumenta el tamaño en aproximadamente 10mb, por lo que cargar la aplicación se convierte en un problema.glassfish v3 classpath settings

¿Cómo puedo poner estos frascos en otra parte para que gf los recoja así que no es necesario que los tenga en mi aplicación?

Respuesta

1

Puede ponerlos en el classpath del servidor si es necesario. Vaya al directorio lib del dominio.

+0

¿Puedo ponerlos en algún otro directorio y luego decirle gf a mirar ahí? – Marko

1

En el domain.xml de su dominio Glassfish puede usar el atributo classpath-sufijo de la etiqueta java-config para apuntar a ubicaciones que deberían ser parte del classpath de Glassfish para ese dominio en particular.

0

Opción 1: Puede solucionar esto durante la implementación de GF3 utilizando la opción de bibliotecas. Esto es lo que dice la pantalla de despliegue de GF3.

Una lista de archivos JAR de biblioteca separados por comas. Especifique los archivos JAR de la biblioteca por sus rutas relativas o absolutas. Especifique las rutas relativas relativas a instance-root/lib/applibs. Las bibliotecas están hechas disponibles para la aplicación en el orden especificado.

En caso de que esté utilizando la línea de comando para la implementación, utilice la opción --libraries con el comando asadmin.

Esta puede no ser la mejor opción, ya que debe ocuparse de ella cada vez que se realiza una desinstalación. Sin embargo, en caso de redesplegarse, esta configuración debe conservarse.

Opción 2: Ponlas en el nombre de dominio/lib de Glassfish. Se retomará automáticamente y estará disponible para todas sus aplicaciones en el mismo dominio después del reinicio.

+0

¿Alguien puede proporcionar un enlace al origen de esta información? Me gustaría leer más. Por ejemplo, ¿puedo usar -libraries para señalar un directorio en lugar de un jar? –

1

Para jar's esto está bien, pero para archivos de propiedades es otra cosa. Suele ser más difícil a menos que los incluya en WAR (lo que significa que no puede actualizarlos sin una redistribución completa).

traté de poner los xxx.properties en la carpeta config & adaptación de la siguiente línea domain.xml

<java-config debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9009" system-classpath="${com.sun.aas.instanceRoot}/MY_VALUE" classpath-suffix=""> 
     ... 
</java-config> 

con MY_VALUE tomar los siguientes valores:

  1. config
  2. config/
  3. config/xxx.properties

Probar lo mismo con el classpath-sufijo tampoco ayudó.

Solicitando la aplicación Web para mostrar la ruta de clases con la siguiente línea:

String path = System.getProperty("java.class.path"); 
LOG.info("Classpath is : '" + path + "'."); 

mostró que los valores fueron recogidos ... pero la propiedad de archivos nunca fue accesible desde el cargador de clases.getResourceAsInputStream()

Cuestiones relacionadas