JNDI を介して構成されたサービスビルダー ポートレットがあります。
<Context antiJARLocking="true" useHttpOnly="true">
<ResourceLink name="app/url" global="my-app/app/url"
type="java.lang.String" />
</Context>
私のext-spring.xml
では、次を使用してその値を取得しようとしています。
<jee:jndi-lookup jndi-name="java:comp/env/app/url" />
ただし、InitialContext
この値を検索するために使用される は、含まれているのはデータベース接続プールだけでInitialContext
あるため、ROOT
webapp (liferay 自体) のようです。JNDI コンテキストは、次によって決定されるjava:comp/env/jdbc/LiferayPool
に関連付けられていることを知っています。ClassLoader
Thread.currentThread().getContextClassLoader();
また、ポートレットの初期化を実行する前に、liferay がクラスローダーをいじることも知っています。しかし、私の人生では、これを回避する方法を理解することはできません。助言がありますか?