Estoy usando JSF2 con Websphere 7. He creado una biblioteca compartida con éxito y tengo una aplicación dirigida usando la consola de administración de Webpsphere y funciona correctamente. Pero lo que realmente queremos hacer es no tener que apuntar a Shared Lib a través de la Consola de administración de WAS, pero tenemos algún tipo de configuración de nivel de aplicación, por ejemplo, en deployment.xml, etc., que podemos señalar el nombre de Shared Lib compartido y usarlo . He pasado por SO y google pero no he encontrado nada que me haga eso. Sin embargo, sé que hay aplicaciones comerciales que lo hacen, pero no sé cómo.
Esta pregunta de How can I specify a shared library reference at the web module level in Websphere 6.1 deployment descriptors? es de cerca lo que busco, pero no quiero especificar números de versión o nombres tarro como los estados de respuesta
Cómo configurar EAR para acceder a la existencia de Shared Lib compartida de Websphere?
Respuesta
Encontré una forma simplemente siguiendo lo que WAS Admin Console realmente estaba haciendo.
Crea un deployment.xml en tu archivo EAR si aún no tienes uno. Encontrará una referencia al cargador de clases, como a continuación
<classloader xmi:id="Classloader_1311552732281" mode="PARENT_FIRST">
modificarlo y añadir una referencia a la liberary compartida creada en el servidor, como a continuación
<classloader xmi:id="Classloader_1311552732281" mode="PARENT_FIRST">
<libraries libraryName="JSF2_SHARED_LIB" sharedClassloader="true"/>
</classloader>
@dbreaux también ha mostrado una forma .Accpeting mi propia Responde como se adapta mejor a mis necesidades, pero también gracias a dbreaux por tu consejo.
es la cuestión sólo que no quiero tener que configurar cada aplicación por separado, o que no quieres usar la consola de administración en absoluto? Puede associate a shared library with an entire server, que podría ser preferible hacerlo para cada aplicación.
La otra forma de crear esas asociaciones de aplicaciones es en los archivos de implementación .xmi específicos de WebSphere. Estos se crean cuando se implementa, pero también se pueden incluir en los archivos WAR/EAR. No sé si eso te ayudaría en absoluto. Si así fuera, la forma oficial de crearlos con anticipación es usando uno de los Deployment Tools, pero como solo son XML, puede sentirse cómodo al crearlos manualmente.
Para anexar detalles adicionales a la respuesta de Shahzeb: Mi entorno: Websphere 8.5; Windows 7; (Eclipse Luna para generar el archivo .war de prueba)
He instalado el archivo war exportado de eclipse en el servidor websphere por consola websphere. Luego se volvió a exportar y descomprimirlo para ver qué websphere agrega automáticamente para generar EAR.
[folder]META-INF
[folder]ibmconfig
[file]application.xml
[file]ibm-application-bnd.xmi
[file]ibm-application-runtime.props
[file]MANIFEST.MF
[file]was.module
[file]was.policy
[file]was.webmodule
[file]myWAR.war
Y el deployment.xml archivo se coloca en .. \ ibmconfig \ células \ defaultCell \ Applications \ \ DefaultApp despliegues \ DefaultApp \
cuyo contenido en forma de
<?xml version="1.0" encoding="UTF-8"?>
<appdeployment:Deployment xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:appdeployment="http://www.ibm.com/websphere/appserver/schemas/5.0/appdeployment.xmi" xmi:id="Deployment_1417052686904">
<deployedObject xmi:type="appdeployment:ApplicationDeployment" xmi:id="ApplicationDeployment_1417052686904" deploymentId="0" startingWeight="1" binariesURL="$(APP_INSTALL_ROOT)/[server service name]Cell/myWAR.ear" useMetadataFromBinaries="false" enableDistribution="true" createMBeansForResources="true" reloadEnabled="false" appContextIDForSecurity="href:[server service name]Cell/myWAR" filePermission=".*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755" allowDispatchRemoteInclude="false" allowServiceRemoteInclude="false" asyncRequestDispatchType="DISABLED" standaloneModule="true" enableClientModule="false">
<targetMappings xmi:id="DeploymentTargetMapping_1417052686904" enable="true" target="ServerTarget_1417052686904"/>
<classloader xmi:id="Classloader_1417052686904" mode="PARENT_FIRST"/>
<modules xmi:type="appdeployment:WebModuleDeployment" xmi:id="WebModuleDeployment_1417052686904" deploymentId="1" startingWeight="10000" uri="myWAR.war" containsEJBContent="0">
<targetMappings xmi:id="DeploymentTargetMapping_1417052686905" target="ServerTarget_1417052686904"/>
<classloader xmi:id="Classloader_1417052686905"/>
</modules>
<properties xmi:id="Property_1417052686904" name="metadata.complete" value="true"/>
</deployedObject>
<deploymentTargets xmi:type="appdeployment:ServerTarget" xmi:id="ServerTarget_1417052686904" name="server1" nodeName="[server service name]"/>
</appdeployment:Deployment>
(Como no tengo reputación, tengo que hacerlo todo en texto ...)
- 1. ¿La mejor manera para que Lua script llame a una C shared compartida?
- 2. No se puede publicar EAR en Websphere
- 3. Ventajas y desventajas de usar biblioteca compartida frente a EAR totalmente encapsulado
- 4. Generar archivo EAR compatible con Websphere 6.1 usando Maven
- 5. Uso de Ant para implementar EAR en el servidor de aplicaciones websphere remoto
- 6. Ejemplo de un build.xml para un EAR que se implementa en WebSphere 6
- 7. ¿Existe alguna forma de automatizar la implementación de EAR en WebSphere y OracleAS?
- 8. Cómo agregar rutas include y lib para configurar/hacer ciclo?
- 9. Necesita recomendaciones para el tutorial de Websphere
- 10. Linux Shared Libraries C++
- 11. Obteniendo jar en tomcat/shared/lib para iniciar sesión usando la configuración de la aplicación web llamándolos
- 12. cómo usar la memoria compartida para comunicar entre dos procesos
- 13. C++ pérdida de memoria compartida, ¿cómo borrar la memoria compartida?
- 14. building shared library for android
- 15. configuración log4j en EAR
- 16. ¿Cómo incluyo un archivo jar en una carpeta lib de un archivo ear usando horm?
- 17. Usando Python, ¿cómo puedo acceder a una carpeta compartida en la red de Windows?
- 18. ¿Cómo acceder a la lista raíz "Compartida conmigo" con el SDK de Google Drive?
- 19. ¿cómo puedo usar una lib compartida en glassfish para evitar el despliegue de las enormes libs?
- 20. Acceder a los archivos de la red compartida en la aplicación web C#
- 21. ctypes no encontrar símbolos en la biblioteca compartida creada usando la configuración para crear una librería compartida en Linux CMake
- 22. No se puede acceder a jarfile ./lib/proguardgui.jar
- 23. Cómo usar SharedAccessSignature para acceder a blobs
- 24. ¿Cómo configurar mod_lua en Apache para acceder a módulos de Lua de terceros?
- 25. Shared SqlConnection
- 26. wpf cómo enlazar a la existencia de DataContext?
- 27. Linking boost a la biblioteca compartida con CMake en Linux
- 28. Shared UITableViewDelegate
- 29. No se puede acceder jarfile lib \ archquery.jar
- 30. Cómo acceder a la carpeta compartida en virtualbox. ¿Host Win7, Guest Fedora 16?
El problema fue que lo hicimos No quería asociarlo con todo el servidor, ya que había algunas aplicaciones que usaban JSF1.2 y los administradores no querían asociarse a través de la consola del servidor (no estoy seguro de por qué :)) Logré hacer lo que la consola de administración hace detrás de la escena al crear una entrada en standard deployment.xml.Gracias por su respuesta, lo he votado. – Shahzeb
Asociar la biblioteca compartida con todo el servidor es una buena sugerencia. – Frans