問題タブ [initial-context]
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.
java - InitialContext を閉じる
EJBHelper
メソッドを呼び出してgetInitialContext
を初期化する別のクラスのメソッドを使用するクラスがありますInitialContext
。
ここでの問題はInitialContext
、EJB プロセスの終了後に を閉じる必要があることです。助けてください; これどうやってするの?
java - Spring 用の JNDI DataSource をプログラムで作成する
JNDI を使用して定義されたデータソースを持つ既存の Spring Web ベースのアプリケーションがあり、Bean を使用するスタンドアロン アプリを作成しようとしています。スタンドアロン アプリケーションで JNDI エントリとデータベース プロパティをプログラムで作成するにはどうすればよいですか?
編集:
このようなことを試しましたが、「javax.naming.NoInitialContextException: 環境またはシステム プロパティでクラス名を指定する必要があります」というエラーが表示されます。
ejb - InitialContext.lookup(ejbMappedName) は、新しいインスタンスまたは古い同じインスタンスを返します
statful EJB の場合、InitialContext.lookup(itsMappedName) を使用して参照を取得すると、(InitialContext.lookup(itsMappedName)) の呼び出しごとに、新しいステートフル EJB または同じステートフル EJB が返されますか?
java - Storm jar内からjndiバインディングをロードする方法は?
Storm を使用するように移行するプロジェクトがあるため、コードを jar にパッケージ化する必要があります。以前は、システム構成ディレクトリ内のファイルからバインディングをロードする実装com.sun.jndi.fscontext.RefFSContextFactory
として使用していました(正常に動作しました)。ただし、このファクトリを使用して jar 内からコンテキストをロードしようとすると、次のようになります。InitialContextFactory
jndicontext
classpath
これは、ファクトリが次の URL から jdni コンテキストをロードしようとしたためです。
"jar:file:/mount/storm-dir/data/storm.jar!/jndicontext"
これは有効な URL ですが、ファクトリは jar を開く方法を認識していません。その実装はありjavax.naming.spi.InitialContextFactory
ますか?あるいは、この問題を回避して構成ディレクトリを Storm に追加する方法はありclasspath
ますか?
java - MailResource をモジュール名と組み合わせてルックアップすると、Glassfish の無限ループが発生します。
Glassfish は、メール リソースをルックアップするときに無限ループに陥ります。このエラーは、ejb.jar.xml でカスタム <module-name> を定義する場合にのみ発生します。
例外:
javax.naming.InitialContext.lookup(InitialContext.java:392) com.sun.enterprise.naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90) com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup (GlassfishNamingManagerImpl.java:776) com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744) com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:180) com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:498) で com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455) で javax.naming.InitialContext.lookup( com.sun.enterprise.naming.util.JndiNamingObjectFactory の javax.naming.InitialContext.lookup(InitialContext.java:392) の InitialContext.java:392)。create(JndiNamingObjectFactory.java:90) com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:776) com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744) com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:180) で com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:498) で com.sun.enterprise.naming で.impl.SerialContext.lookup(SerialContext.java:455) at javax.naming.InitialContext.lookup(InitialContext.java:392) at javax.naming.InitialContext.lookup(InitialContext.java:392) com.sun.enterprise. Naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90)776) com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744) com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:180) com.sun.enterprise .naming.impl.SerialContext.lookup(SerialContext.java:498) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455) at javax.naming.InitialContext.lookup(InitialContext.java:392) ) javax.naming.InitialContext.lookup(InitialContext.java:392) で com.sun.enterprise.naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90) で776) com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744) com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:180) com.sun.enterprise .naming.impl.SerialContext.lookup(SerialContext.java:498) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455) at javax.naming.InitialContext.lookup(InitialContext.java:392) ) javax.naming.InitialContext.lookup(InitialContext.java:392) で com.sun.enterprise.naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90) でcom.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455) の lookup(SerialContext.java:498) javax.naming.InitialContext.lookup(InitialContext.java:392) の javax.naming.InitialContext com.sun.enterprise.naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90) の .lookup(InitialContext.java:392)com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455) の lookup(SerialContext.java:498) javax.naming.InitialContext.lookup(InitialContext.java:392) の javax.naming.InitialContext com.sun.enterprise.naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90) の .lookup(InitialContext.java:392)
これが私の構成です:
glassfish-resources.xml
EMailService.java へのインジェクション
ejb.jar.xml
もちろん、上記のファイルはすべて同じモジュールに存在します => バックエンド。
JNDI-Internals の詳細なログを使用して、問題を次のポイントまで掘り下げることができました。
動作シナリオ (モジュール名なし): 特別なモジュール名がない場合、モジュール名はファイル名にファイル拡張子が付いたものになります (例: backend-1.1.1-SNAPSHOT)。これにより、次のルックアップ シナリオが発生し、最終的に MailResource が再割り当てされます。
.SerialContext;MethodName=lookup;|SerialContext ==> lookup( java:module/mail/MailSession)|#] .SerialContext;MethodName=lookup;|SerialContext ==> 検索相対名: java:module/mail/MailSession|# ] .JavaURLContext;MethodName=lookup;|javaURLContext.lookup では、name = java:module/mail/MailSession serialcontext...null|#] .SerialContext;MethodName=lookup;|SerialContext ==> lookup( java:global/portal -1.1.1/backend-1.1.1-SNAPSHOT/mail/MailSession)|#] .SerialContext;MethodName=lookup;|SerialContext ==> 検索相対名: java:global/portal-1.1.1/backend-1.1. 1-SNAPSHOT/mail/MailSession|#] .SerialContextProviderImpl;MethodName=lookup;| SerialContextProviderImpl :: lookup java:global/portal-1.1.1/backend-1.1.1-SNAPSHOT/mail/MailSession|#] .GlassfishNamingManagerImpl;MethodName=lookup;|GlassfishNamingManager のシリアル コンテキスト..null|#] .
エラー シナリオ (カスタム モジュール名): 前述の ejb.jar.xml に示されているようなカスタム モジュール名を追加すると、ルックアップの無限ループで失敗します。
関連する検索ログは次のようになります。
MethodName=lookup;|SerialContext ==> 検索相対名: java:global/private-ear-1.2.0-SNAPSHOT/backend/mail/MailSession|#] FINE|glassfish3.1.1|com.sun.enterprise.naming|_ThreadID =23;_ThreadName=Thread-2;ClassName=com.sun.enterprise.naming.impl.SerialContextProviderImpl;MethodName=lookup;| SerialContextProviderImpl :: lookup java:global/private-ear-1.2.0-SNAPSHOT/backend/mail/MailSession|#] FINE|glassfish3.1.1|com.sun.enterprise.naming|_ThreadID=23;_ThreadName=Thread-2; ClassName=com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl;MethodName=lookup;|GlassfishNamingManager のシリアル コンテキスト..null|#] FINE|glassfish3.1.1|com.sun.enterprise.naming|_ThreadID=23;_ThreadName=Thread- 2;ClassName=com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl;MethodName=lookup;|GlassfishNamingManager : 検索名: java: MethodName=lookup;|SerialContext ==> lookup( java:global/private-ear-1.2.0-SNAPSHOT/backend/mail/MailSession)|#] FINE|glassfish3.1.1|com.sun.enterprise.naming|_ThreadID= 23;_ThreadName=Thread-2;ClassName=com.sun.enterprise.naming.impl.SerialContext;MethodName=lookup;|SerialContext ==> 検索相対名: java:global/private-ear-1.2.0-SNAPSHOT/backend /mail/MailSession|#] FINE|glassfish3.1.1|com.sun.enterprise.naming|_ThreadID=23;_ThreadName=Thread-2;ClassName=com.sun.enterprise.naming.impl.SerialContextProviderImpl;MethodName=lookup;| SerialContextProviderImpl :: lookup java:global/private-ear-1.2.0-SNAPSHOT/backend/mail/MailSession|#] FINE|glassfish3.1.1|com.sun.enterprise.naming|_ThreadID=23;_ThreadName=Thread-2; ClassName=com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl;MethodName=lookup;|GlassfishNamingManager のシリアルコンテキスト..
asadmin から Glassfish リソースを手動で確認すると、次のエントリが取得されます。
そこに専門家がいたら、そのヒントを教えてください。
java - Oracle 11g で context.lookup() を使用してキューを取得する方法
Oracle 11g で Queue と MessageDrivenBean を作成したいと考えています。
Weblogic で JMS モジュールを作成し、その中に Queue と ConnectionFactory を作成しました。JDBC 名は次のようになります:
Queue: jms/EvZahQueue
ConnectionFactory: jms/ConnectionFactory
私はそれらを取得しようとしました:
ただし、次のような例外があります。
また、私は試しました:
そして、デフォルトのプロパティを作成して入れようとしましたnew InitialContext()
が、何も変わりませんでした。
私は何をすべきか?web.xml
、 、ejb-jar.xml
でweblogic-ejb-jar.xml
何かを書く必要があるかもしれません。
java - 別のトピックと同じ名前を持つ InitialContext キューからルックアップできません
このコード行は例外を生成します
背景情報:
別のキュー名で試してみましたが、問題なく動作します。
この「サンプル」キューの問題は、まったく同じ名前の別のトピックがあることです
これを回避する方法はありますか?