4

Eclipse Virgo 3.0x に含まれるリモートからアクセス可能なサービスを構成する方法について、ステップバイステップのチュートリアルを参照できる人はいますか? 標準が存在することなどは知っていますが、ダウンロードする作業コード/構成とともに、特定の手順の代わりに手を振っているような例は見つかりません。この例が Apache CXF や Eclipse ECF などを使用しているかどうかは気にしません。私が望むのは、トランスポートとワイヤ プロトコルの両方が、クライアント側とサーバー側の両方の開発者にとって単純な Java のように見えるものの背後に抽象化されているという点で、RMI と同等です (いくつかの自由が取られています)。

リモーティングをサポートするには、どのバンドルを Virgo にデプロイする必要がありますか? どのSpringっぽい構成設定が機能しますか? クライアント側のクラスパスに必要な jar は何ですか? などなど?

4

2 に答える 2

4

Apache CXF DOSGI をいじってみたところ、非常に簡単に動作するようになりました。

  • ここから CXF シングル バンドル ディストリビューションをダウンロードします。私は 1.3.0 を使用しました。
  • Virgo を解凍し (簡単にするためにカーネル ディストリビューションを使用しました)、CXF バンドルをピックアップにコピーし、Virgo を起動します。

    $ 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'.
    
  • これらの指示に従って ZooKeeper サーバーをインストールして実行します- 私は 3.4.3 を使用しました。構成ファイルの作成方法を含むZooKeeperの説明も参照してください。

  • 以下を含むファイル 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'. 
    
  • Virgo カーネルの別のコピーを解凍し、CXF バンドルと org.apache.cxf.dosgi.discovery.zookeeper.properties をピックアップにコピーし、別の JMX ポートから開始します。

    $ bin/startup.sh -jmxport 9876
    

    それだけですが、動作していることを確認するために、残りの手順でgreeter サンプルを実行します...

  • グリーターインターフェイス実装バンドルを最初の Virgo インスタンスにインストール/開始します。最も簡単な方法は、インターフェイス バンドルを repository/usr にコピーしてから、実装バンドルを pickup にコピーすることです。

  • グリッターインターフェイスクライアントバンドルを 2 番目の Virgo インスタンスにインストール/起動します。最も簡単な方法は、インターフェイス バンドルを repository/usr にコピーしてから、クライアント バンドルをピックアップにコピーすることです。

  • [Invoke Remote Greeter Service] ウィンドウが表示されたら、[名前] フィールドに文字列 (「foo」など) を入力し、[Invoke] をクリックします。

  • 最初の Virgo インスタンスは、次のトレース ログ メッセージを示します (serviceability/logs/log.log 内)。

    Invoking: greetMe(foo)
    
  • 2 番目の Virgo インスタンスには、次のトレース ログ メッセージが表示されます。

    [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 *** 
    
  • 2 番目の Virgo インスタンスのサービス レジストリを調べます。

    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 がサービス レジストリで公開されました。

于 2012-04-10T15:35:49.663 に答える
2

これはあなたが探しているものと正確には一致しないかもしれませんが、Enterprise OSGiinActionのリモートサービスの章の説明はVirgoで機能するはずだと私は信じるに足る理由があります。

于 2012-01-09T15:40:15.670 に答える