Pregunta

Para resumir el problema que estoy encontrando, tengo un EJB que utiliza la versión A de una biblioteca (llamémoslo DEP-vA.jar). dep-vA.jar se envasa en la raíz del archivo JAR de EJB. La carpeta de la liberación del dominio en el servidor de aplicaciones contiene la versión B de la misma biblioteca (llamémoslo DEP-vB.jar). Al llamar a la EJB, me sale un error debido a un archivo de dep-vB.jar que se carga en lugar de dep-vA.jar.

supongo que la primera parte de esta pregunta es, ¿EJB v9.1 aislar Sun ONE Application Server desde uno al otro? Yo tenía la impresión de que lo hace. Pero parece que otra aplicación cargada dep-vB.jar y esto está directamente EJB usándolo sin cargar su propio.

La segunda pregunta es, si el servidor de aplicaciones EJB hace aislar, ¿Se carga dependencias de archivo jar del EJB antes de buscar en carpetas lib del servidor de aplicaciones? Yo tenía la impresión de que esto también es cierto, pero tal vez no ...

Hay alguien lo suficientemente familiarizado con los servidores de aplicaciones de Sun para explicar por qué dep-vB.jar se carga en lugar de dep-vA.jar? ¿Hay alguna forma de conseguir que la carga de dep-vA.jar sin cambiar lo que hay en las carpetas lib del servidor de aplicaciones? (I dudaría en hacer nada que pueda afectar a otras aplicaciones en el servidor)

Gracias.

¿Fue útil?

Solución

  

supongo que la primera parte de esta pregunta es, ¿EJB v9.1 aislar Sun ONE Application Server desde uno al otro? Yo tenía la impresión de que lo hace. Pero parece que otra aplicación cargada dep-vB.jar y esto está directamente EJB usándolo sin cargar su propio.

Según Sahoo (que es un desarrollador de GlassFish ), la especificación Java EE hace no clase mandato de carga de aislamiento entre los módulos de un solo oído por lo que el comportamiento puede ser diferente de un servidor de aplicaciones a otro . Con Sun ONE, mi comprensión de la documentación ¿están aisladas que EJB-JAR.

  

La segunda pregunta es, si el servidor de aplicaciones EJB hace aislar, ¿Se carga dependencias de archivo jar del EJB antes de buscar en carpetas lib del servidor de aplicaciones? Yo tenía la impresión de que esto también es cierto, pero tal vez no ...

Es una estrategia de padres y primera (y que yo sepa, Sun ONE permite cambiar el modo de delegar para aplicaciones web única ).

Una vez dicho esto, ¿qué ocurre si la lista de dep-vA.jar en la entrada de la Class-Path MANIFEST.MF del EJB-JAR?

Ver también

Otros consejos

No he utilizado ese servidor en particular, pero sí sé que en WebSphere, hay una opción para utilizar PARENT_FIRST o PARENT_LAST de carga de clases. Se podría estar buscando un equivalente de PARENT_LAST donde las clases se cargan desde el oído primero antes de subir al servidor.

Yo supondría que dicha configuración a es posible en cualquier servidor de aplicaciones, ya que siempre debe ser capaz de cumplir sus tarros de aplicación específica para ser cargado sobre cualquier otro.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top