2012-01-07 3 views
4

누구나 Eclipse Virgo 3.0x에 포함 된 원격 액세스 서비스를 구성하는 방법에 대한 단계별 자습서를 가리킬 수 있습니까? 나는 표준이 존재한다는 것을 알고있다. 그러나 다운로드 할 작업 코드/구성과 함께 특정 단계 대신 손을 흔드는 것을 포함하지 않는 예제는 찾을 수 없다. 예제에서 Apache CXF, Eclipse ECF 등을 사용하는 경우에는 신경 쓰지 않습니다. 내가 원한 것은 RMI와 동등한 점이다. 전송 및 유선 프로토콜은 클라이언트 및 서버 측 개발자 모두에게 명백한 Java (일부 자유가 부여됨)로 보이는 것의 뒤에 추상화되어있다.이클립스 처녀 자리에 포함 된 OSGi 서비스를 원격으로 호출하는 방법에 대한 실제 예제는 어디에서 찾을 수 있습니까?

원격 처리를 지원하기 위해 처녀 자리에 배치해야하는 번들은 무엇입니까? 어떤 Spring-ish 구성 설정이 작동합니까? 어떤 jar 파일이 클라이언트 측 classpath에 있어야합니까? 등?

답변

4

나는 Apache CXF DOSGI를 가지고 놀았고 아주 쉽게 작업 할 수있었습니다.

  • 다운로드 CXF 일괄 배포 here에서 - 1.3.0을 사용했습니다.
  • 압축 풀기 처녀 자리, (나는 단순함에 대한 커널 분포를 사용) 픽업 CXF 번들을 복사하고, 처녀 자리를 시작

    $ bin/startup.sh 
    [2012-04-04 14:17:33.011] startup-tracker    <KE0001I> Kernel starting. 
    [2012-04-04 14:17:36.135] startup-tracker    <KE0002I> Kernel started. 
    ... 
    [2012-04-04 14:17:38.561] sync Event Dispatcher Thread <UR0001I> User region ready. 
    [2012-04-04 14:17:39.565] fs-watcher     <HD0001I> Hot deployer processing 'INITIAL' event for file 'cxf-dosgi-ri-singlebundle-distribution-1.3.jar'. 
    [2012-04-04 14:17:40.060] fs-watcher     <DE0000I> Installing bundle 'cxf-dosgi-ri-singlebundle-distribution' version '1.3.0'. 
    [2012-04-04 14:17:40.570] fs-watcher     <DE0001I> Installed bundle 'cxf-dosgi-ri-singlebundle-distribution' version '1.3.0'. 
    [2012-04-04 14:17:40.593] fs-watcher     <DE0004I> Starting bundle 'cxf-dosgi-ri-singlebundle-distribution' version '1.3.0'. 
    [2012-04-04 14:17:43.498] start-signalling-1   <DE0005I> Started bundle 'cxf-dosgi-ri-singlebundle-distribution' version '1.3.0'. 
    
  • 설치 및 these instructions에 따라 사육사 서버를 실행 - 나는 3.4.3를 사용했다. 구성 파일을 만드는 방법을 포함하여 ZooKeeper instructions도 참조하십시오.

  • 파일 org.apache.cxf.dosgi.discovery.zookeeper.properties이 포함 만들기 :

    zookeeper.host = 127.0.0.1 
    

    를 픽업에 복사 :

    [2012-04-04 14:29:51.385] fs-watcher     <HD0001I> Hot deployer processing 'CREATED' event for file 'org.apache.cxf.dosgi.discovery.zookeeper.properties'. 
    [2012-04-04 14:29:51.417] fs-watcher     <DE0000I> Installing configuration 'org.apache.cxf.dosgi.discovery.zookeeper' version '0.0.0'. 
    [2012-04-04 14:29:51.428] fs-watcher     <DE0001I> Installed configuration 'org.apache.cxf.dosgi.discovery.zookeeper' version '0.0.0'. 
    [2012-04-04 14:29:51.434] fs-watcher     <DE0004I> Starting configuration 'org.apache.cxf.dosgi.discovery.zookeeper' version '0.0.0'. 
    [2012-04-04 14:29:51.439] fs-watcher     <DE0005I> Started configuration 'org.apache.cxf.dosgi.discovery.zookeeper' version '0.0.0'. 
    
  • 의 압축을 풀고 처녀 자리 커널의 다른 사본, CXF 번들과 org.apache.cxf.dosgi.discovery.zookeeper.properties를 가져 와서 다른 JMX 포트로 복사하십시오.

    $ bin/startup.sh -jmxport 9876 
    
    그것을하지만이 작동하고 있음을, 나머지 단계는 손님을 맞이하는 샘플을 실행 확인 1,363,210

    ...

  • /설치의 인사에게 처음 처녀 자리 인스턴스에 interfaceimplementation 번들을 시작합니다. 가장 간단한 방법은 인터페이스 번들을 저장소/usr에 복사 한 다음 구현 번들을 픽업으로 복사하는 것입니다.

  • greeter interfaceclient 번들을 두 번째 처녀 자리 인스턴스에 설치/시작하십시오. 가장 간단한 방법은 인터페이스 번들을 저장소/usr에 복사 한 다음 클라이언트 번들을 픽업으로 복사하는 것입니다.

  • "원격 Greeter 서비스 호출"창이 나타나면 이름 필드에 문자열 (예 : "foo")을 입력하고 "호출"을 클릭하십시오.

  • 첫 번째 Virgo 인스턴스는 다음과 같은 추적 로그 메시지를 표시합니다 (serviceability/logs/log에 있음).) 로그 :

    Invoking: greetMe(foo) 
    
  • 두 번째 처녀 자리의 인스턴스는 다음 추적 로그 메시지를 보여줍니다 : 두 번째 처녀 자리 인스턴스의 서비스 레지스트리에

    [2012-04-05 14:14:56.766] INFO Thread-29     System.out              *** Invoking greeter *** 
    [2012-04-05 14:14:56.970] INFO Thread-29     System.out              greetMe("foo") returns: 
    [2012-04-05 14:14:56.971] INFO Thread-29     System.out               Hola foo 
    [2012-04-05 14:14:56.971] INFO Thread-29     System.out               Bonjour foo 
    [2012-04-05 14:14:56.972] INFO Thread-29     System.out               Hoi foo 
    [2012-04-05 14:14:56.972] INFO Thread-29     System.out               Hello foo 
    [2012-04-05 14:14:56.972] INFO Thread-29     System.out              *** Opening greeter client dialog *** 
    
  • 봐.

    osgi> vsh:service examine 245 
    
    Properties: 
        endpoint.id: 
         http://localhost:9090/greeter 
        objectClass: 
         org.apache.cxf.dosgi.samples.greeter.GreeterService 
        service.id: 
         245 
        service.imported: 
         true 
        service.imported.configs: 
         org.apache.cxf.ws 
    
    Publisher: cxf-dosgi-ri-singlebundle-distribution 1.3.0 [84] 
    
    Consumer(s): 
        cxf-dosgi-ri-samples-greeter-client 1.2.0 [86] 
    

    원격 GreeterService가 서비스 레지스트리에 게시되었습니다.

2

정확하지 않을 수도 있지만 원격 서비스 장의 Enterprise OSGi in Action의 지침이 처녀 자리에서 작동해야한다고 생각하는 모든 이유가 있습니다.

+0

감사합니다. 우리가 주문할거야. 나는 여전히 "ECF + Virgo for Dummies"를 원한다. :) – ShabbyDoo

+0

[ECF 포럼] (http://www.eclipse.org/forums/index.php?t=thread&frm_id=99)에서 그런 것을 요구하려고 시도 했습니까?)? 누군가 거기에 관련 경험을 갖고 그것을 기꺼이 공유 할 수 있습니다. –