0

Osgi バンドルで REST API を開発しています。私はJerseyを使用して、RESTサービスを使用するクラスごとにjavaxサーブレットを備えたjettyコンテナーにサービスをデプロイしています。

各クラスにはこのような属性があります

Private DBInterface dbInterface;

セッターとゲッターを使用し、(実行時に) サービスがデプロイされたら、別のバンドルからオブジェクトを挿入する必要があります。それで、誰かがそれを行う方法を知っていますか?

前もって感謝します。

PD: サービスをシングルトンとして宣言せずにそれを行いたいので、すべての REST 要求はサービスの別のインスタンス (実際のステートレス REST) から応答されます。

更新: サービスのデプロイに使用する web.xml コードは次のとおりです。

<servlet>
    <servlet-name>jersey-serlvet</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
        <param-value>com.sun.jersey.api.core.ClassNamesResourceConfig</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.config.property.classnames</param-name>
        <param-value>com.mypackage.MyServiceClass</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>jersey-serlvet</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>
4

1 に答える 1