Question

Pour notre projet en cours J2EE basé sur JBoss, nous avons besoin d'interface avec un système distant en utilisant le message et un conduit haricots adaptateur de ressources JCA fourni sous forme de fichier RAR par un tiers. Je voudrais empaqueter et déployer l'ensemble du projet en tant que fichier EAR à notre serveur JBoss. Plus particulièrement, le fichier RAR doit être intégré dans le fichier EAR et ne pas être déployés dans le monde.

Tout cela fonctionne très bien jusqu'à présent, mais je ne suis pas particulièrement satisfait de la façon dont le fichier RAR est référencé. Le jboss.xml emballé avec le MDB par exemple, ressemble actuellement à ceci:

<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>

Bien que cela fonctionne généralement bien, il se brisera lorsque le fichier EAR est renommé « test2.ear ». Est-il possible de référencer le fichier RAR intégré sans coder en dur le nom du contenant des archives?

Modifier Près de deux mois plus tard, je l'ai toujours pas trouvé une vraie réponse à cette question. Demander autour, tout ce que je suis arrivé étaient ces deux suggestions utiles: « Utiliser les propriétés Maven et filtrage », et « Ne pas inclure le RAR dans l'oreille. » Je soupçonne fortement que actuellement il n'y a aucun moyen de gérer cela correctement dans JBoss. Donc je vais donner sur et simplement accepter la seule réponse que je suis arrivé ici.

Était-ce utile?

La solution

vous utilisez Maven pour construire? Si oui, vous pouvez définir une propriété Maven qui nomme le fichier de l'oreille et utiliser ce nom pour définir des valeurs dans les fichiers de ressources en utilisant un espace réservé

par exemple xxx

utilisez

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

assurez-vous de définir les ressources qui auront les espaces réservés

quelque chose comme ceci:

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top