問題タブ [spring-dm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - Spring Dynamic Modules のバンドルにエクスポートされたサービスが挿入されない
Spring Dynamic Modules を初めて使用しています。バンドルを介してサービス (単純な listofValuesDAO Bean) を公開しようとしましたが、Bean を使用するために別のバンドルに挿入しようとしています。以下は、サービスが公開された Bundle1 の osgi-context.xml の構成タグです。
osgi-context.xml の以下のタグを使用して、Bundle2 で取得しようとしています。
問題は、以下の構成を使用して Bundle2 の Bean に注入しようとしたときです。
システムは以下の例外をスローします:
以下は、私の ExportServiceImpl クラスのプロパティです。
誰かがこの問題を解決するのを手伝ってくれませんか?
osgi - OSGi でのサービスの利用と新しいオブジェクトの作成の違い
私は CQ5 を初めて使用します。OSGi の概念を調べているときに、サービスと呼ばれるものを見つけました。そのためのインターフェースと実装クラスを持つバンドルを作成しました。これはメソッドをオーバーライドします(単に文字列「hello world」を返します)。そのクラスをjsp /一部のJavaクラスで利用したい場合は、その新しいインスタンスを作成しますオブジェクトとそのメソッドを使用します。私の質問は、新しいオブジェクトを作成することとサービスを利用することの正確な違いは何ですか. また、新しいオブジェクトに対するサービスの利点についても言及してください。また、spring-DM を使用したサービスの構成を手伝ってください。
apache - camel Bean メソッドのパラメーター変換
camel ルートを作成しています。最初のステップは問題ありませんが、作成した別の osgi バンドルのメソッドを呼び出すのに問題があります。私のサービスはパラメーターに Long 値を想定していますが、pojo にはこの ID しかありませんでした。
私のサービス :
私のルート:
そして、ルートの私のデータ形式:
このコードで、y は NoTypeConversionAvailableException を取得しました
型: my.company.MyDto から必要な型: java.lang.Long の値 MyDto [myId=141564] に変換できる型コンバーターがありません
Dto を変換する場所が見つかりません。
ルートの構造と同じ構造の dto を Service に期待させようとしましたが、同じ間違いがあります。
何か案が?
spring - API を介して OSGI で Spring コンテキストを作成する
私の質問をさらに明確にするために:
キャメルルートを含むSpring xmlファイルがあります。このルートを BundleActivator でブートストラップしたいと考えています。SpringContext を初期化して開始し、OSGI レジストリに登録するための OSGI の世界での手順は何ですか。API を介してこのカスタムを実行したいのですが、Spring DM を使用するのではなく、これを制御する必要があります。OSGI クラスを使用する必要があることを理解しています。従うべき例:
これはルートを開始しません。
ありがとう。
spring - OsgiBundleXmlApplicationContext を WebApplicationContext の親として設定する方法
私の Camel (2.14.0) アプリケーションでは、Spring Web Services を使用して Camel ルートをトリガーします。アーティファクトは OSGi バンドルとしてビルドされ、Karaf (3.0.2) にデプロイされます。
最初のバージョンでは、JVM 内部 Web サーバーを使用しorg.springframework.remoting.support.SimpleHttpServerFactoryBean
て Web サービスを公開するように spring-ws を構成しました。これはうまくいきます。しかし、あまり OSGi 風ではありません。org.springframework.ws.transport.http.MessageDispatcherServlet
代わりに、次のようにサービスとしてKaraf ホワイトボード エクステンダーに公開したいと思います。
これは、「通常の」サーブレットの魅力のように機能します。しかし、MessageDispatcherServlet
は独自のものを構築したいと考えており、そのコンテキストWebApplicationContext
でタイプの Bean を見つけることを期待しています。org.springframework.ws.server.EndpointMapping
Camel は、EndpointMapping
その spring-ws コンポーネントで使用する必要がある の実装を提供します。
私が直面している問題は、エンドポイント マッピング Bean の同じインスタンスをOsgiBundleXmlApplicationContext
、Camel コンテキストを作成する と によって作成されたアプリケーション コンテキストの間で共有する必要があることMessageDispatcherServlet
です。OsgiBundleXmlApplicationContext
myが の親である場合は、これが当てはまりますWebApplicationContext
。の親コンテキストをWebApplicationContext
、サーブレットをサービスとして公開している「現在の」コンテキストに設定する方法はわかりません。
WebApplicationContext
内からインスタンスOsgiBundleXmlApplicationContext
化して MessageDispatcherServlet に渡すと、例外が発生します。
残念ながら、 のWebServiceMessageReceiver
( をカプセル化するEndpointMapping
) はMessageDispatcherServlet
プライベート メンバーです。したがって、マッピング Bean を単純な方法で設定することはできません。
コンテキスト階層を作成する方法はありますか? または、Bean インスタンスを別の方法でコンテキスト間で共有できますか?