Как ссылаться на встроенный адаптер ресурса JCA - PullRequest
2 голосов
/ 16 февраля 2010

Для нашего текущего проекта J2EE, основанного на JBoss, нам нужно взаимодействовать с удаленной системой, используя управляемые сообщениями bean-компоненты и адаптер ресурсов 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. Поэтому я откажусь от этого и просто приму единственный ответ, который я получил здесь.

1 Ответ

2 голосов
/ 08 марта 2010

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

например ххх

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

$ {} ear.name .ear #-1.0.rar третьей стороны

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

примерно так:

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

...