問題タブ [ejb-3.0]
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 - EJB3 クエリ + in 句
次の SQL のような IN 句を使用する必要があります
EJBQLでこれを行うにはどうすればよいですか?
私は明らかに失敗した次のことを試しました:
それからJavaで私はやった
それは私に次の例外を与えます
jboss - ステートレスEJBJNDIパスを取得する方法は?
ステートレスEJBJNDIパスを取得する方法はありますか?私が次のようなEJBを作成したと仮定します。
初期化中にBookBeansJNDIパスを検出する方法はありますか?初期化中に特定のBeanをグローバルレジストリに自動サブスクライブするためにこれが必要です。他にそうする方法はありますか?
jpa - TopLinkが表を作成するときの列の順序の制御
「eclipselink.ddl-generation」プロパティを「create-tables」に設定してEclipseLinkを使用しています。作成されたテーブルの列の順序はランダムに見えます。列を特定の順序 (Entity クラス定義でフィールドが表示される順序) に並べたい。
EclipseLinkにEntityクラス定義の順序で列を作成するように指示する方法、または列の順序を指定する他の方法はありますか?
ありがとう。
java - EJB 3: アプリケーション クライアントからステートフル セッション Bean にアクセスする
アプリケーション クライアントからステートフル セッション Bean (SFSB) にアクセスできません。JBoss 5.0.1.GA を使用しています。アプリケーション クライアントと EJB は両方ともデプロイする EAR にパッケージ化されており、問題なく動作する他のアプリケーション クライアントがあります。これまで、私はステートレス セッション Bean (SLSB) しか使用していませんでしたが、私が理解している限り、SLSB と SFSB の違いは、アプリケーション クライアントからのアクセス方法には影響しません。
クラス/インターフェースの構造:
アプリケーション クライアントは、「 JBoss 5 でアプリケーション クライアントを使用する方法」で説明されているように、「appclient-launcher」を介して実行されます。init() の実行中に (ローカル) ABean で someMethod() が呼び出されるまで、「BBean」のルックアップを行うことは正常に機能します。その呼び出し中に、コンテナーは InvalidStateException("Local call: security context is null") をスローします (根本的な原因として)。ステートフル Bean をステートレス Bean に変更すると、すべて正常に動作します (もちろん、状態が保持されないことを除きます)。興味深いことに、Web アプリケーション (JSF マネージド Bean) からまったく同じ SFSB を問題なく使用できます。
私は何か間違ったことをしていますか?アプリケーション クライアントから SFSB を使用するにはどうすればよいですか?
これまでのところ、この特定の問題について役立つものは何も見つかりませんでした。この例外は、[#JBAS-4317] Security Context over the invocationの同様のコンテキストで言及されていますが、完了としてマークされ、JBoss 5.0.0.Beta3 で修正されていることを考慮すると、同じ問題ではないようです。
java - EJB3 コンストラクターが例外をスローしますか?
EJB3 ステートレス/ステートフル Bean の no args コンストラクターが例外をスローするとどうなりますか? たとえば、クラス A には DI があります。
B はコンストラクターで例外をスローしますか? EJB3仕様では、このケースについての言及は見つかりませんでした。クラス A のインスタンスは、そのタスクを成功させる手段が本当にないため、破棄されると思います。
java - Hibernate でクエリをキャッシュすると、クエリが 10 倍遅くなるのはなぜですか?
私は現在、主要なプロジェクトの事前調査として EJB3 を試しています。私が調べていることの 1 つは、クエリ キャッシングです。
JPA アノテーション、@Local ビジネス インターフェイス、EJB-JAR の @Stateless 実装を使用して非常に単純なドメイン モデルを作成し、基本的なテストを行うための非常に単純な Web アプリケーションと共に EAR にデプロイしました。EAR は変更なしで JBoss 5.0.1 デフォルト設定にデプロイされます。これは非常に簡単で、期待どおりに機能しました。
しかし、私の最新のテストにはクエリのキャッシュが含まれており、いくつかの奇妙な結果が得られました。
- ID と文字列値のみをマップするドメイン クラスがあり、その特定のテーブルに約 10000 行を作成しました
- ビジネス Bean には、SELECT m FROM MyClass m という非常に単純なクエリがあります。
- キャッシュがない場合、これは平均で約 400 ミリ秒で実行されます
- クエリ キャッシュを有効にすると (クエリのヒントを介して)、もちろん最初の実行にはもう少し時間がかかり、約 1200 ミリ秒かかります。次の実行には平均 3500 ミリ秒かかります。
これは私を困惑させたので、Hibernate の show_sql がログを参照できるようにしました。キャッシュされていない場合、キャッシュを有効にして最初の実行を行うと、予想どおり 1 つの SELECT がログに記録されます。キャッシュ ヒットを取得する必要がある場合、Hibernate はデータベース テーブルの行ごとに 1 つの SELECT をログに記録します。
それは確かに実行時間が遅いことを説明するでしょうが、なぜこれが起こるのか誰か教えてもらえますか?
hibernate - Glassfish での休止状態 - Ejb3Configuration NoClassDefFoundError
Hibernate ライブラリを Glassfish ドメインと、Netbeans のプロジェクトのライブラリ コレクションの両方に配置しました。hibernate-entitymanager.jarには HibernatePersistence (コール スタックの最後のクラス) と Ejb3Configuration の両方が含まれているため、なぜ Ejb3Configuration のクラスが見つからないというエラーが発生するのか、かなり困惑しています。
java - EJB3 Bean またはランタイム依存関係チェックでのオプションの注入
注入されたインターフェイスに EJB がある場合にのみ注入されるように、注入を定義したいと考えています。これは、メイン EJB へのプラグインとして使用されます。これを行う方法?これに対する注釈はありますか?
@PostConstruct を使用して、手動で変数を「注入」できます。しかし、依存関係を自分で処理する必要があります。それらの1つがオプションであることを知っている依存関係をどのように処理できますか? さまざまな依存モジュールの展開の順序を処理するにはどうすればよいですか。
更新:optional
Google には、パラメーターを含む
注入注釈があることがわかります:
更新 2: JBoss には、私が探しているものと思われるものがあります。