2010-10-01 8 views
7

Estoy tratando de usar un plan de implementación weblogic para agregar valores de init-param a un archivo .war del proveedor proporcionado por web.xml.Cómo ver los resultados de un plan de implementación de WebLogic

Mientras me doy cuenta de que puedo abrir el archivo .war y simplemente editar el archivo, preferiría usar un plan de implementación para lograrlo, ya que necesitaré implementar el archivo .war en varios servidores con diferentes valores para el init-param en cuestión.

He encontrado muchos ejemplos de cómo hacer esto en línea, pero mis esfuerzos son impredecibles. Creo que si pudiera ver el impacto del plan de implementación en mi archivo war implementado, podría descubrir rápidamente qué es lo que estoy haciendo mal.

¿Hay alguna manera de ver los descriptores de despliegue en tiempo de ejecución de una aplicación weblogic (10.3.3) después de que se haya aplicado el plan de despliegue?

Respuesta

3

Pasé algún tiempo investigando esto hace un tiempo, y aunque WL10 descomprime WAR en un directorio temporal, no modifica los archivos enumerados en el plan de despliegue en esa ubicación. También traté de usar getResource/getResourceAsStream para leer todo el web.xml y encontré que también era el archivo original sin modificaciones.

Nunca imaginé cómo WL aplica los cambios para que sean recogidos por ServletContext sin que sean visibles en ningún otro lado. Mi suposición es que está usando algún truco para anular la carga de esos archivos y aplicar los cambios dinámicamente.

Después de luchar con él por un tiempo, al final me decidí por algo como lo siguiente hacer una lista de los valores de los parámetros de inicialización en el arranque:

if (log.isTraceEnabled()) { 
     final Enumeration<String> names = context.getInitParameterNames(); 
     while (names.hasMoreElements()) { 
      final String key = names.nextElement(); 
      final String value = context.getInitParameter(key); 
      log.trace("Init Parameter '{}' = '{}'", key, value); 
     } 
    } 

(Usando slf4j para el registro)

Por supuesto, no ayuda un poco si hay algún problema con el plan de despliegue y los valores no se establecen, pero es lo mejor que se me ocurre.

1

En 12.2.1 tienen un ajuste de depuración DebugDeploymentPlan servidor, si encendido, el servidor registra algo así como

<After applying the overrides from the deployment plan, the descriptor "META-INF/ejb-jar.xml" is: 
Cuestiones relacionadas