Как обратиться к встроенному адаптеру ресурсов JCA

StackOverflow https://stackoverflow.com/questions/2272937

Вопрос

Для нашего текущего проекта J2EE, основанного на JBoss, нам необходимо взаимодействовать с удаленной системой, используя компоненты, управляемые сообщениями, и адаптер ресурсов JCA, предоставляемый в виде файла RAR третьей стороной.Я хотел бы упаковать и развернуть весь проект в виде файла EAR на нашем сервере JBoss.Наиболее примечательно, что файл RAR должен быть встроен в файл EAR и не развертываться глобально.

Пока все это работает нормально, но я не особенно доволен способом ссылки на файл RAR.jboss.xml Например, файл, упакованный с MDB, в настоящее время выглядит следующим образом:

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

Хотя в целом это работает нормально, оно сломается, когда файл EAR будет переименован в "test2.ear".Есть ли способ ссылаться на встроенный RAR-файл без жесткого кодирования имени содержащего его архива?

Редактировать: Прошло почти два месяца, а я все еще не нашел реального ответа на этот вопрос.Поспрашивая вокруг, я получил только эти два полезных предложения:"Используйте свойства Maven и фильтрацию" и "Не включайте RAR в EAR". я сильно подозреваю, что в настоящее время нет способа правильно обработать это в JBoss.Так что я откажусь от этого и просто приму единственный ответ, который я получил здесь.

Это было полезно?

Решение

используете ли вы maven для сборки?Если это так, вы можете установить свойство maven, которое дает имя файлу ear, и использовать это имя для задания значений в файлах ресурсов с помощью заполнителя

например, xxx

затем используйте

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

просто убедитесь, что вы установили ресурсы, которые будут содержать заполнители

что - то вроде этого:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top