問題タブ [jndi]
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.
design-patterns - EJBHomeFactoryパターンを実装する際に同期マップが必要ですか?
クライアントからを呼び出す場合は、最初にJNDIルックアップを介してオブジェクト参照EJBBean
を取得する必要があります。EJBHome
このコードは、作業が必要になるたびに実行する必要があるEJBBean
ため、冗長で高価になります。
この問題を解決するには、EJBHome
オブジェクト参照をキャッシュして、JNDIルックアップを繰り返さずにキャッシュから何度も再利用できます。
これはEJBHomeFactory Pattern
(またはより一般的なサービスロケーターパターン)です。
Map
私が見た実装の大部分は、キャッシュとして同期を使用しHashtable
ます。アプリケーションがサーバーにデプロイされたときにキャッシュが構築され、その後キャッシュに変更が加えられない場合(get()メソッドのみが実行されます)、本当に同期が必要ですかMap
、それとも実行されHashMap
ますか?
HashMap
スレッドの少なくとも1つがマップを変更する場合(これにはSOの投稿もあります)、安全ではないことはわかっていますが、この場合、スレッドは読み取りのみを実行します。
だから、でHashMap
使用しても安全EJBHomeFactory Pattern
ですか?
java - QueueConnectionFactoryのJNDIルックアップがnullを返すのはなぜですか?
GeronimoのJNDIQueueConnectionFactory
を介してを検索しようとしています。Queue
は正常に返されますQueue
が、QueueConnectionFactory
ルックアップは常にnullを返します。はスローされませんNamingException
。これは、JNDI名が正しくない場合に予想されることです。
誰かが私が間違っていることを見ることができますか?以下のテストコードは次のように出力します。
違いが生じる場合:クラスパスにopenejb-client-3.0.1.jar、geronimo-ejb_3.0_spec-1.0.1.jar、activemq-core-4.1.2-G20090207.jarを追加しました。私のjndi.propertiesファイルには次のプロパティがあります。
java - Tomcat JDBC接続プールはインスタンス間で共有されますか?
現在、クライアントごとにコピーをデプロイするWebアプリケーションがあります。現在のデプロイメント戦略は、インスタンスごとに一意の名前のjdbc接続プールを作成することです。つまり、jdbc/clientと言います。このように指定されています...
問題は、一意の名前の代わりに接続プールがデプロイされたすべてのインスタンスでjdbc / databaseと呼ばれるように標準化した場合、データベースが交差する可能性があるか、つまり、ある顧客が別の顧客のデータベースにあるか、またはこれらがローカライズされているかです。特定のデプロイされたインスタンス?
考え?ありがとう、スコット
java - SpringアプリケーションコンテキストからのJNDIルックアップを解決しますか?
Springアプリケーションでは、JNDIを介していくつかのオブジェクトをセットアップするActiveMQでクラスター化されたHibernateSearchを使用します。これらのオブジェクトはSpringアプリケーションコンテキストを介して構成され、これらのオブジェクトへのJNDI呼び出しを解決する方法を探しています。
私が見つけたのは、SpringコンテキストからのJNDIルックアップだけでした。
逆に必要です。SpringアプリケーションコンテキストからJNDIルックアップを解決します。
どんなポインタでも大歓迎です。
java - InitialContext で close() を呼び出すと、今後のすべてのルックアップ (Glassfish) で JNDI が壊れるのはなぜですか?
以下のコードの 2 番目の JNDI ルックアップは、Glassfish ( JNDI 経由で aQueueConnectionFactory
および aを公開するように構成されている) に対してスタンドアロン アプリケーションとして実行すると、例外で失敗します。DataSource
ただし、行jndiContext.close()
が削除されると、コードは正常に機能します。
実際のコードでは、 への呼び出しclose()
は で Spring によって行われているJndiObjectFactoryBean
ため、簡単に削除することはできません。
これは Glassfish のバグですか、それとも何か間違っていますか (設定ミスやコーディングの誤りなど)?
java - JNDIの目的は何ですか
可能であれば例を挙げて、どのように JNDI の使用法を理解できますか?
java - Apache Tomcat: JNDI リソースの追加/削除/編集
Tomcat (バージョン 6) に JNDI リソースを追加/削除/編集する機能はありますか? 可能であれば、JDBC データ ソースを更新するにはどうすればよいですか (例として)。アプリケーションを再デプロイせずに JNDI リソースを更新する可能性を探していることに注意してください。残念ながら、Glassfish ではこれを行うことができるようです。残念ながら、現在、別のアプリケーション サーバーを使用することはできません。
websphere - 2つのWASプロファイルが同じマシンを共有する場合のJNDIルックアップ
マシンに2つのプロファイルがあり、1つのプロファイルにEJBをデプロイしました。これは、別のプロファイルのPOJOから検索できます。しかし、ルックアップを実行しているプロファイルは、最終的に独自のノードでルックアップを実行します。この2つのアプリケーションを2つの異なるマシンにデプロイすると、ルックアップを実行できます。WASで仮想マシン名を作成すると役立つとのことですが、使い方がわかりません。この問題を解決するにはどうすればよいですか。
ありがとう、
Kshitij Gupta
java - GWT 1.7-Jettyでのデータソースの設定(ホストモード)
私はGWT(1.7)を初めて使用し、サーブレットからMySQLデータベースへの接続を確立しようとしました。いくつかのエラーが発生したため、グーグルで検索したところ、ホストモードで機能させるにはJettyでデータソースを構成する必要があることがわかりました。私はこのチュートリアルに従いました: チュートリアル
説明したように独自のJettyLauncherクラスを作成し、それに応じたパラメーターを実行構成に追加しました。その後、このエントリをWEB-INF/web.xmlに追加しました。
その後、次の内容でjetty-env.xmlを作成しました。
そして、Eclipse(Galileo、GWTプラグイン付き)でアプリを起動しようとすると、次のエラーが発生します。
jetty-naming-6.1.11.jarとjetty-plus-6.1.11.jarを使用しています。どちらもWEB-INF/libディレクトリにあります。私はすでに両方のライブラリの新しいバージョンを試しましたが、同じ結果になりました。
どこが間違っていたのか、誰か教えてもらえますか?