Pregunta

Para nuestro proyecto actual, basado en J2EE JBoss, tenemos que interactuar con un sistema remoto utilizando beans controlados por mensajes y un adaptador de recursos JCA proporcionado como un archivo RAR por un tercero. Me gustaría empaquetar y desplegar todo el proyecto como un archivo EAR a nuestro servidor JBoss. En particular, el archivo RAR se debe incorporar en el archivo EAR y no ser desplegado a nivel mundial.

Todo esto está funcionando muy bien hasta ahora, pero no estoy particularmente contento con la forma en que se hace referencia en el archivo RAR. El jboss.xml empaquetado con el MDB, por ejemplo, en la actualidad es el siguiente:

<jboss>
   <enterprise-beans>
      <message-driven>
         <ejb-name>testBean1</ejb-name>
         <resource-adapter-name>test1.ear#thirdparty-1.0.rar</resource-adapter-name>
      </message-driven>
   </enterprise-beans>
</jboss>

Si bien esto es generalmente funciona bien, se romperá cuando el archivo EAR se cambia el nombre a "test2.ear". ¿Hay una manera de hacer referencia al archivo RAR incrustado sin codificación dura el nombre del archivo que contiene?

Editar A casi dos meses después, todavía no he encontrado una respuesta real a esta pregunta. Preguntar por ahí, todo lo que conseguí eran esas dos sugerencias: "El uso de Maven y propiedades de filtrado", y "No incluya el RAR dentro del oído." Tengo la firme sospecha de que actualmente no hay ninguna manera de manejar esto correctamente en JBoss. Así que voy a renunciar a ella y simplemente aceptar la única respuesta que llegué aquí.

¿Fue útil?

Solución

se está utilizando Maven para construir? Si es así, se puede establecer una propiedad experto que da nombre al archivo oreja y utilizar ese nombre para establecer valores en archivos de recursos utilizando un marcador de posición

por ejemplo xxx

a continuación, utilizar

$ {} ear.name .ear # thirdparty-1.0.rar

sólo asegúrese de establecer los recursos que tienen los marcadores de posición

algo como esto:

<build>
<resources>
  <resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
  </resource>
</resources>

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