私はcontext/JNDIを使って開発しているweb-appの設定を提供したいと思います。私は現在Netbeans 8.1で、Glassfishサーバーをバンドルして開発していますが、私のソリューションはコンテナに依存しません。カスタムJNDIリソースを作成する
私はデータベース接続を取得するための設定を行っていますが、カスタムリソースタイプで困惑しています。 web.xmlに
:GlassFishの-resources.xmlので
<resource-ref>
<res-ref-name>SHOWmail/search</res-ref-name>
<res-type>com.example.SearchProvider</res-type>
<res-auth>Container</res-auth>
</resource-ref>
:
<custom-resource jndi-name="SHOWmail/search" res-type="com.example.SearchProvider" factory-class="com.example.SearchProviderFactory">
<property name="name" value="value"/>
</custom-resource>
コードで:
initContext = new InitialContext();
envContext = (Context) initContext.lookup("java:comp/env");
search = (SearchProvider)envContext.lookup("SHOWmail/search");
私は信頼性の高いjavax.naming.NameNotFoundException: No object bound to name java:SHOWmail/search
を取得します。私の工場とクラスは触れられません(必要に応じて追加されます)。
私が間違っていたところのポインタは大変感謝しています。
私も試してみた 'を'の代わりに '<のresource-ref>'、と同じ結果。 –