5

http://blog.nanthrax.net/2011/11/apache-karaf-cellar-and-dosgi/の下にある Karaf Cellar の例に従いました。

サービス (Bundle1)、サービス実装 (Bundle2)、クライアント (Bundle3) の 3 つの OSGi バンドルを作成しました。(Bundle1) と (Bundle2) を 1 つの karaf インスタンスにデプロイし、(Bundle1) と (Bundle3) を別の karaf インスタンスにデプロイして、2 つの karaf コンテナーを異なるマシンで実行しています。例に示されているように、すべてが正常に機能しました。Karaf コンテナー 2 からクライアント バンドルを削除し、設計図に記載されているキャメル ルート経由でサービスを呼び出したいと考えました。

<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0
http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
    <reference id="myService" interface="org.service.cellar.EchoService"     timeout="20000" availability="optional" />
    <camelContext id="camel" trace="false"
        xmlns="http://camel.apache.org/schema/blueprint">
        <route id="client">
            <from uri="timer://foo?fixedRate=true&amp;period=10000" />
            <bean ref="myService" method="process" />
            <log message=" Invoking Service : ${body}" />
        </route>
    </camelContext>
</blueprint>

上記のブループリントを karaf コンテナー 2 に展開するとすぐに、karaf コンテナー 1 で次の例外が発生します。このエラーの原因を特定できません。この問題に関するコメントをお待ちしております。

ありがとうございました。

2012-10-15 13:24:40,477 | エラー | プール-11-スレッド-7 | イベントディスパッチタスク | 78 - org.apache.karaf.cellar.core - 2.2.4 | タスクのディスパッチ中にエラーが発生しました
java.lang.NullPointerException
        org.apache.karaf.cellar.dosgi.RemoteServiceCallHandler.handle (RemoteServiceCallHandler.java:74) [83:org.apache.karaf.cellar.dosgi:2.2.4] で
        org.apache.karaf.cellar.dosgi.RemoteServiceCallHandler.handle (RemoteServiceCallHandler.java:34) [83:org.apache.karaf.cellar.dosgi:2.2.4] で
        sun.reflect.GeneratedMethodAccessor31.invoke (不明なソース) で
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_35]
        java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_35]
        org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:50)[7:org.apache.aries.proxy:0.3.1] で
        org.apache.aries.proxy.impl.DefaultWrapper.invoke(DefaultWrapper.java:31) [7:org.apache.aries.proxy:0.3.1] で
        org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:78)[7:org.apache.aries.proxy:0.3.1]で
        $Proxy24.handle (不明なソース) [78:org.apache.karaf.cellar.core:2.2.4] で
        org.apache.karaf.cellar.core.event.EventDispatchTask.run(EventDispatchTask.java:77)[78:org.apache.karaf.cellar.core:2.2.4]で
        java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_35] で
        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_35] で
        java.lang.Thread.run(Thread.java:662)[:1.6.0_35]で
4

0 に答える 0