문제

JBOSS를 기반으로하는 현재 J2EE 프로젝트의 경우 메시지 구동 원두와 원격 시스템과 제 3자가 RAR 파일로 제공되는 JCA 리소스 어댑터를 사용하여 원격 시스템과 인터페이스해야합니다. 전체 프로젝트를 JBOSS 서버에 귀 파일로 패키지하고 배포하고 싶습니다. 특히 RAR 파일은 EAR 파일에 내장되어 있어야하며 전역으로 배포되지 않아야합니다.

이 모든 것이 지금까지 잘 작동하지만 RAR 파일을 참조하는 방식에 특히 만족하지 않습니다. 예를 들어 MDB와 함께 패키지 된 JBoss.xml은 현재 다음과 같습니다.

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

이것은 일반적으로 정상적으로 작동하지만 이어 파일의 이름이 "test2.ear"로 바뀌면 끊어집니다. 포함 된 아카이브 이름을 하드 코딩하지 않고 내장 RAR 파일을 참조하는 방법이 있습니까?

편집하다: 거의 2 개월이 지난 후에도 여전히이 질문에 대한 실제 답변을 찾지 못했습니다. 주변에 물어 보면, 내가 얻은 것은 "Maven 속성과 필터링 사용"과 "귀에 RAR을 포함하지 마십시오"라는 두 가지 유용한 제안이었습니다. 나는 현재 Jboss에서 이것을 올바르게 처리 할 방법이 없다고 강력하게 의심합니다. 그래서 나는 그것을 포기하고 내가 여기에 온 유일한 대답을 받아 들일 것입니다.

도움이 되었습니까?

해결책

Maven을 사용하여 빌드하고 있습니까? 그렇다면 귀 파일의 이름을 지정하는 Maven 속성을 설정하고 해당 이름을 사용하여 자리 표시자를 사용하여 리소스 파일에서 값을 설정할 수 있습니다.

예를 들어 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