2014-03-05 7 views
1

현재 기능 배포 및 KAR 대체 기능을 사용하여 Karaf 2.3.3에 배포 된 응용 프로그램을 보유하고 있습니다. 필자는 fabric8을 사용해 보았으므로 Maven 플러그인을 사용하여 프로필을 작성하는 데 필요한 조언이 필요합니다.기능 기반 프로필 배포를위한 Fabric8 (Fuse ESB 6.1) 전략

프로젝트 용으로 이미 작성한 프로파일을 기반으로 프로파일을 만들어야합니까? 또는 번들을 프로파일로 패키징해야합니까?

어느쪽으로 든 배치 할 때 문제가 발생합니다. 오류 로그의 일부분 :

io.fabric8.agent.utils.MultiException: Error while downloading artifacts 
    at io.fabric8.agent.utils.AgentUtils$ArtifactDownloader.await(AgentUtils.java:314) 
    at io.fabric8.agent.DeploymentBuilder.download(DeploymentBuilder.java:160) 
    at io.fabric8.agent.DeploymentAgent.doUpdate(DeploymentAgent.java:503) 
    at io.fabric8.agent.DeploymentAgent$2.run(DeploymentAgent.java:252) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:744) 
java.io.IOException: Error downloading mvn:com.xxx.services.features/xxx-cassandra-feature/0.3.0-SNAPSHOT 

답변

0

Maven 플러그인은 무엇입니까? 참조하는 fabric8 플러그인입니까? http://fabric8.io/#/site/book/doc/index.md?chapter=mavenPlugin_md

Karaf 기능/OSGi 번들과 기타 등등을 할당 할 수있는 hawtio를 사용하여 프로필을 만들면됩니다.

그런 다음이 프로필이있는 컨테이너를 만들어 JVM에서이 항목을 실행하게하십시오.

그리고 대부분의 경우 maven 좌표가 코드/JAR 다운로드에 사용됩니다. 위에 게시 한 오류는 정의 된 Maven 저장소에서 다운로드하는 중에 문제가 있음을 나타냅니다.

그러나 fabric8 메이븐 플러그인은 프로파일을 만드는 데 사용하기 때문에 더 쉽습니다. 빌트인 패브릭 인 메이븐 서버 (프록시)에 코드/프로젝트를 업로드하십시오.

ESB와 함께 제공되는 빠른 시작 예제에는 pom.xml에 fabric8 플러그인이 있습니다. 샘플로 활성화하여 사용할 수 있습니다.

maven 플러그인이 새로운 것이므로 최신 Fab/Fuse ESB 빌드가 필요합니다.

+0

예, 플러그인입니다. localrepo에는 POM 아티팩트가 있습니다. 최신 Fuse ESB 사용. 수동으로 프로파일을 작성하는 것은 쉽지만 karaf features.xml을 사용하여 프로파일을 빌드하는 것이 편리해야합니다. 플러그인을 찾았지만 hawtio를 사용하여 프로필에서 상위 POM 번들을 수동으로 삭제해야한다고 생각하십시오. –

+0

그런데 quickstart-jms (나는 amq를 가진 낙타 경로가 있습니다)는 내가 만든 기본 프로필의 브로커에 연결할 수 없으며 오늘이 시간을 보냈습니다 ... 한숨 2014-03-06 21:35 : 37,985 | 오류 | 데이터 마트 업데이트] | faultJmsMessageListenerContainer | .DefaultMessageListenerContainer 907 | 187 - org.apache.servicemix.bundles.spring-jms - 3.2.7.RELEASE_1 | 대상 'datamart-update'에 대해 JMS 연결을 새로 고칠 수 없습니다 - 5000ms 후에 다시 시도합니다. 원인 : 중지되었습니다. –

+0

일부 JMS 예제의 경우 브로커가 필요합니다. 전체 배포판을 사용하는 경우에는 브로커가 기본적으로 제공됩니다. 브로커를 사용하여 컨테이너를 만드는 것과 같이 브로커를 먼저 설치하거나 브로커를 루트 컨테이너에 할당합니다. 예 quickstarts의 readme 지침을 개선해야합니다. –