Pergunta

Para o nosso projeto J2EE atual baseado no JBoss, precisamos interagir com um sistema remoto usando feijões acionados por mensagens e um adaptador de recursos JCA fornecido como um arquivo RAR por terceiros. Gostaria de empacotar e implantar o projeto inteiro como um arquivo de ouvido no nosso servidor JBoss. Mais notavelmente, o arquivo RAR deve ser incorporado no arquivo EAR e não ser implantado globalmente.

Tudo isso está funcionando bem até agora, mas não estou particularmente feliz com a maneira como o arquivo RAR é referenciado. O jboss.xml embalado com o MDB, por exemplo, atualmente se parece com o seguinte:

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

Embora isso geralmente esteja funcionando bem, ele quebrará quando o arquivo de ouvido for renomeado para "test2.ear". Existe uma maneira de fazer referência ao arquivo rar incorporado sem codificar o nome do arquivo contendo?

Editar: Quase dois meses depois, ainda não encontrei uma resposta real para essa pergunta. Perguntando, tudo o que recebi foram essas duas sugestões úteis: "Use propriedades e filtragem do Maven", e "não inclua o rar dentro da orelha". Suspeito fortemente que atualmente não há como lidar com isso corretamente em Jboss. Então, vou desistir e aceitar a única resposta que recebi aqui.

Foi útil?

Solução

Você está usando o Maven para construir? Nesse caso, você pode definir uma propriedade Maven que nomeia o arquivo EAR e use esse nome para definir valores em arquivos de recursos usando um espaço reservado

por exemplo, xxx

Em seguida, use

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

Apenas certifique -se de definir os recursos que terão os espaços reservados

algo assim:

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top