문제

KARAF에 응용 프로그램을 만들고 배포해야합니다.그러나 나는 낙타 구성 요소와 Java 구성 요소 (간단한 스프링 빈)를 사용해야합니다.흐름은 다음과 같아야합니다 :

WebService(not matter for me) -> camel-component -> spring-bean -> camel-component -> WebService(not matter for me).
.

이것은 단순한 라우팅 일뿐입니다.그러나 내가 필요한 것은 KARAF가 수락하고 배치하는 OSGI 번들의 디렉토리 구조입니다.

ex.x.나는 가지고있다 :

su-camel
  -src
    -main
      -resources
        -META-INF
          xbean.xml (spring-bean)
    -test
      -java
      -resources

su-bean
  -src
    -main
      -java
      -resources
        -META-INF
          xbean.xml (spring-bean)
    -test
      -java
      -resources
.

Maven을 통해 모든 포장을하고 있으므로 응용 프로그램이 올바르게 배포 될 OSGI Bundle .jar 파일에 보관 해야하는 디렉토리 구조는 무엇입니까?src 모듈 및 su-camel 모듈에 두 개의 su-bean 디렉토리가 있습니다.

Servicemix는 위에 설명 된 구조체가 추가 된 모든 구성 요소로 .zip 파일을 수락합니다.KARAF는 그런 구조를 지원합니까?

도움이 되었습니까?

해결책

적절한 OSGi 솔루션은 각 프로젝트마다 하나씩 두 번의 번들을 만드고 둘 다 배포하는 것입니다.이 작업을 수행하지 않으려면 프로젝트 매니페스트에서 삽입 종속 속성을 사용하여 종속성 (낙격) 패키지를 포함 할 수 있습니다.이렇게하면 를 배포 할 수있는 번들 만 생성합니다.

다른 팁

가장 간단한 해결책은 콩과 낙타 경로로 하나의 번들만을 만드는 것입니다.일반적으로 콩에서 경로를 분할 할 필요가 없습니다.어떤 이유로이를 분리 해야하는 경우 두 번의 번들을 사용하십시오.

배포를보다 쉽게하기 위해 karaf 기능 파일을 사용할 수 있으며 결국 더 많은 종속성을 모두 나열 할 수 있습니다.KARAF는 또한 많은 번들을 포함 할 수있는 .KAR 파일을 지원합니다.KAR 파일은 KARAF 서버가 Maven Repo에 액세스 할 수없는 경우가는 방법입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top