問題タブ [glassfish-3]
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 - Glassfish v3 で明らかな理由もなくサーブレット要求が順次実行される
Glassfish 3 Web プロファイルを使用していますが、サーブレットで同時に要求を実行する http ワーカーを取得できません。
これが私が問題を観察した方法です。現在のスレッド名を標準出力に書き込み、10 秒間スリープする非常に単純なサーブレットを作成しました。
また、複数の同時リクエストを実行している場合、ログでリクエストが順次実行されていることを明確に確認できます (10 秒ごとに 1 つのトレース)。
等
私の GF 設定はすべて変更されていません。これはすぐに使用できる設定です (デフォルトのスレッド プールは最小 2 スレッド、正しく思い出せば最大 5 スレッドです)。
sleep() が他のすべてのワーカースレッドをブロックする理由が本当にわかりません。どんな洞察も大歓迎です!
authentication - カスタムLoginModuleからリモートEJBにアクセスすることは可能ですか?
カスタムレルムとloginModuleを作成する方法に関するいくつかの良いヒントを見つけました。カスタムloginModule内でリモートEJBにアクセスできるかどうか疑問に思っています。
私の場合、(JPAを介して)ユーザーエンティティへのアクセスを提供するリモートEJBがあります-それらを使用できますか(@EJBアノテーションを介して)?
security - EJB3.1用のJAX-WSを使用した基本認証のデプロイメントの説明
JAX-WSを使用した基本認証の優れたチュートリアルがあります
ただし、Webベースのアプリケーション(war)のデプロイメントの説明について説明しています。ejb jarデプロイメントの説明に問題のない説明がありますか?
web.xmlの場合
注釈によるセキュリティルールの説明を見つけました-
GlassFishおよびJavaEE5SDKのセキュリティ注釈と承認
しかし、これで十分ですか?
あなたより!
java - Glassfish 3: Glassfish コードを含むスタック トレースをナビゲートできるように、開発者ビルドを取得して使用するにはどうすればよいですか?
JSF 1.1 アプリケーションを Java EE 6 Web プロファイルに移行し、段階的に実行しています。私は、JSF 1.2 の jsf-facelets.jar を使用して、JSF 1.1 を使用する JSP から JSF 1.2 の Facelets に移行する過程にあり、"{Bean .foo.map.key}" スタックトレースは、「キー」が有効な整数ではないことを訴えました。(コードのイントロスペクションの後、数値をキーとして使用して回避しています)。そのバグは、この質問の対象ではありません。
このような状況では、スタック トレース内のすべての行のソースをナビゲートできることが不可欠です。Eclipse では通常、ソース jar をビルド パス上のすべての jar にアタッチしますが、この特定のケースでは、Glassfish サーバー アダプターが jar を含むライブラリを自動的に作成します。また、私の知る限り、ソースがバンドルに含まれている Glassfish のデバッグ ビルドはありません。
Glassfish は重要な Maven プロジェクトであり、少しうるさいです。私は Maven にあまり詳しくありませんが、Subversion からコードをチェックアウトし、http: //wiki.glassfish.java.net/Wiki.jsp?page=V3FullBuildInstructions#section-V3FullBuildInstructions- に従って 3.0 タグ用にビルドすることができました。 CheckoutTheWorkspace - 公式にリリースされた 3.0 バージョンに対応するコードのようです。
「mvn -U install」の部分を終了した後、最初に「mvn -DdownloadSources=true eclipse:eclipse」を使用して Eclipse プロジェクトを作成し、それらを Eclipse Java EE 3.5.2 にインポートして M2_REPO 変数を指定しようとしましたが、多くの場合のプロジェクトにはまだコンパイル エラーがあり、これを行う方法に関する Oracle からの指示を見つけることができません。
Glassfish の 3.0 バージョンを反映した機能的な IDE ワークスペースを取得するための助けをいただければ幸いです。私は Eclipse 3.5.2、Netbeans 6.8 および 6.9 ベータ版、IntelliJ IDEA 9、および Linux/Windows/OS X を使用しています。
java - ルックアップを呼び出さない新しいステートフルセッションBeanインスタンス
シナリオ:
手動ルックアップによってBeanを生成するメソッドがあります@Singleton UserFactory
(可能性があります)。@Stateless
createSession()
@Stateful UserSession
DIで注入している場合、メソッド@EJB
の呼び出し中に同じインスタンスを取得しますfromFactory()
(そうあるべきです)
私が欲しいのは、UserSession
ルックアップを実行せずにの新しいインスタンスを取得することです。
@Stateful
Q1:セッションBeanの新しいインスタンスを呼び出すにはどうすればよいですか?
コード:
私が理解しているように、
最善のアイデアではありません
Q2:本当ですか?
#
アップデート
目標
実際の目標は、ユーザーのセッションを管理するSessionsFactoryを作成することです(これはWebサービスユーザーです)。
セッション@StatefullBean:
ファクトリメソッドでは、@ Statefull UserSessionの新しいインスタンスを作成し、ユーザーごとに作成されたセッションの数を管理し、一定期間(30分)後にdestroySession()を呼び出します。
ユーザーのセッションリクエストの履歴を追跡する必要があり、後で履歴を保持します。
したがって、@StatefullBeanは私のニーズに対応する必要があると思います。しかし、JNDI名によるルックアップは、新しいejbが作成される唯一のチャンスであるように見えます。ルックアップなしでejbの新しいインスタンスを挿入する可能性を探してい
ます。また、マップ/コレクションにthrmを保持する代わりに、@StatefullUserSessionの現在作成されているインスタンスのコレクションを取得する可能性を探しています。
Q3:そうです..JNDIだけがejbの新しいインスタンスを作成するのに役立ちますか?
Q4:コンテナからいくつかのejb`sインスタンスのコレクションを取得することは可能ですか?
Glassfish v3、ejb3.1を使用しています。
java - コンテナーからいくつかの ejb のインスタンスのコレクションを取得することは可能ですか?
シナリオ:ユーザー セッション用の Beanが@Statefull
あります (HTTP セッションではなく、Web サービス セッションです)。また、ユーザーごとにユーザーのセッションを管理する必要があります。
目標:インスタンスのコレクションを取得し@Statefull UserSession
、ユーザーごとのセッションの最大数とセッションの存続時間を制御できるようにする必要があります。
質問:コレクションやマップなどに格納する代わりに、EJB コンテナーから EJB インスタンスのコレクションを取得することは可能ですか?
GlassFish v3、EJB 3.1、JAX-WS を使用しています。
java - GlassFish のビルドに失敗しました
サーバー側のコードをデプロイしようとするたびに、ビルドが失敗します。マシンを再起動しようとすると、ビルドは成功しますが、後でビルドしようとすると失敗します。ビルドしようとすると、次の重大なメッセージが表示されます。
以下は、深刻な方法の詳細です。
java - Glassfish(v3)アプリケーションのデプロイメントでのjava.util.zip.ZipException
EJB3.1アプリケーションで奇妙な例外が発生しましZipException
た。アプリケーションのデプロイ中に、次のようにスローされます。
このエラーを調査する方法がわかりません。Glassfishのインストールとは関係がないことを知っています(UbuntuとMacでも同じ問題です)。
編集:( クラスパスの詳細は役に立たないようです)
... / WebAlbums3-ea / dist / gfdeploy / WebAlbums3-Service.jarの問題は、Glassfishが探している場所にこのファイルが実際に存在しないことです...代わりに、WebAlbums3-Service_jarという名前のフォルダーがあります。
(Netbeans 6.8、Glassfish v3、Servlet3、EJB 3.1、JPA / Hibernateを使用しています)
ご協力ありがとうございました
編集:この問題(ZipExceptionとすでにロードされているEJBの両方)は、実装が定義された場所の外にEJBインターフェイスを抽出することで解決されました(実装クラスは各モジュールでロードされたため、EJB例外)
jakarta-ee - Glassfish Web アプリケーションでの EJB インジェクション
@EJB アノテーションを使用して ejb.jar ファイルに EJB へのリモート参照を挿入しようとしているアプリがあります。一貫性のない結果が得られます。あるケースでは、呼び出される web.xml にリスナーがあり、EJB に接続してその上でメソッドを呼び出していることがわかるため、EJB が正しく注入されているようです。別のクラス (struts2 アクション) で、EJB 参照にアクセスしようとすると NPE が発生します。私が知る限り、それらは同じ .war ファイルに存在する Java クラスの同一の呼び出しです。
回避策として、グローバル JNDI 名で EJB をルックアップするコードをコンストラクターに追加したところ、正常に動作しました。ある @EJB が機能し、別の @EJB が機能しない理由がわかりません。
glassfish - Glassfish3 のリモート インターフェイス ルックアップの問題
私は、アクションクラスとファサードを含む war ファイルと、ejb コンポーネント (ステートレス Bean、エンティティのカップル、および persistence.xml) を含む jar ファイルを glassfish3 にデプロイしました。私の問題は、ファサードからステートレス Bean へのリモート インターフェイスが見つからないことです。
私のビーンとインターフェースは次のようになります:
server.log を見ると、移植可能な jndi は次のようになります。
そして私のファサード:
ファサードが最初の呼び出しを行うと、この例外が発生します。
そして2番目の呼び出し:
@EJB アノテーションを使用して Bean を注入するテストも行いました。
しかし、それもうまくいきません。私は何を逃したのですか?ejb-jar.xml を試してみましたが、それは必須ではありません。この問題を解決する方法を教えてくれる人はいますか?