2016-11-29 1 views
0

나는 사육사와 큐레이터에게 새로운입니다. 큐레이터를 사용하여 동물원에 연결하고 읽기/쓰기를 시도합니다. 독립 실행 형 Java 응용 프로그램에서 실행할 때이 코드는 제대로 작동하지만 osgi 번들 내부에 포함 시키면 사육사 서버에 연결하지 못할 수 있습니다. 나는 큐레이터 프레임 워크-2.9.0.jar, 큐레이터 클라이언트-2.9.0.jar와 번들 내부의 lib 폴더에있는 다른 종속성을 포함하고있는 OSGi 번들에 대한 아파치 큐레이터를 osgi 번들 내에서 작동시키는 방법?

import org.apache.curator.framework.CuratorFramework; 
import org.apache.curator.framework.CuratorFrameworkFactory; 

CuratorFramework curator = CuratorFrameworkFactory.newClient(someConnectionString, retryPolicy); 
curator.start(); 
try { 
    curator.getZookeeperClient().blockUntilConnectedOrTimedOut(); //returns false from osgi but true from standalone application 
} 
catch (InterruptedException e) { ... } 

. 모든 종속성이 처리되도록 런타임 오류가 발생하지 않습니다.

큐레이터 라이브러리가 osgi 프레임 워크를 지원하는지 여부를 알아 내려고 시도했으며 2013 년에 제기 된이 문제가 해결 된 것으로 표시됩니다.

내가 여기에 뭔가 분명한 것을 놓치고 있습니까?

+0

그래서,이 호출이 false를 반환하지만에 관해서는 아무런 정보가 실패없는 이유는 무엇입니까? 따라서 원인을 진단하는 것이 거의 불가능합니다. 더 많은 정보를 얻을 수있는 방법이 있습니까? –

+0

답장을 보내 주셔서 감사합니다 :) 나는 정보가 거의 없다는 것에 동의하며, 더 많은 정보를 얻을 수 있다는 사실에 동의합니다. 아직도이 문제에 갇혀 있지만 몇 가지 시도, 잘하면 결국 길을 찾을 것입니다 .. – Mrigank

+0

@ NeeBartlett 당신이 자리했다 !! 오류 정보를 얻는 것이 5 분 근무 후 핵심이었습니다. 아래에 답변을 게시하십시오. 감사!! – Mrigank

답변

0

간단한 누락 된 수입 사례로 밝혀졌습니다. 그러나 ClassNotFoundExceptions는 콘솔에 오지 않고 log4j로 이동합니다. log4j를 초기화하기 위해 아래의 추가 누락 등의 수입 org.ietf.jgss의 밝혀

import org.apache.log4j.BasicConfigurator; 
import org.apache.log4j.Logger; 

      BasicConfigurator.configure(); 
      Logger.getRootLogger().setLevel(org.apache.log4j.Level.ALL);