問題タブ [ejb]
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 - EJB を使用するアプリを更新するための推奨される方法はありますか?
EJB で動作する Java アプリがありますが、次の場合:
- EJB が更新され、アプリが壊れています。
- アプリサーバーが更新され、アプリが壊れています。
人間の関与なしで、アプリ サーバーと Bean のクライアント jar を更新するための推奨される方法はありますか?
推奨される方法がアプリ サーバーに依存する場合は、jboss を想定します。
java - DB スキーマを EJB でアップグレードすることはできますか?
いくつかのエンティティとそれらの間の関係を定義する EJB アプリケーションがあるとします。DB スキーマはエンティティから簡単に作成できると考えました。これでアプリは動作しますが、しばらくすると関係を変更する必要が生じます。たとえば、1 対 1 を 1 対多にする必要があります。DB をアップグレードして、古いデータを失わずに変更できますか?
hibernate - Spring & Hibernate EJB イベント
Spring 管理の EJB3 休止状態リスナーを定義することは可能ですか?
persistence.xmlに次の定義があります。
HibernateAuditInterceptor
しかし、私はSpringで管理したいHibernateAuditTrailEventListener
ので、これらのクラス内でBeanインジェクション(例:セッションスコープのBean)を行うことができます。これは可能ですか?
java - データソースを持つメッセージ駆動型 Bean
私の質問は、jboss で構成された JMS データソースを使用するように EJB 3.0 スタイルのメッセージ駆動型 Bean を構成する方法です。
たとえば、私の MDB は次のようになります。
しかし、Bean を特定の JMS データソースにアタッチしたいと考えています (jboss 4.2.2 の場合、これは deploy/jms/jms-ds.xml にあります)。おそらくこれは不可能かもしれませんが、尋ねる価値があります。
java - ジャバ・イー | ejb3 | ランタイムディスパッチ
実行時に ejb3 を呼び出したいと思います。ejb の名前とメソッド名は実行時にのみ使用できるため、コンパイル時にリモート インターフェイスを含めることはできません。
Bean は複数のアプリケーション サーバーに分散する必要があり、すべての Bean はリモートで呼び出される必要があります。
ヒントはありますか?特に私はしたくない:
- 依存性注入
- ディスパッチャにアプリケーション固有の ejb インターフェイスを含める (上記)
- webservices、それは処理能力を無駄に捨てるようなもの、すべての xml がらくた
ネットワーク経由で ejb3 リモート インターフェースをロードすることは可能ですか (そうであれば、どのように?)、インターフェースをハッシュマップなどにキャッシュすることができます。
上記のメイン ディスパッチャーに含めることができるリモート ディスパッチャー Bean を使用したソリューションがありますが、これは本質的に同じことを行いますが、呼び出しをローカル ejb に中継するだけです (どのようにルックアップできますか? ネーミング ルックアップは失敗します)。リモート ディスパッチャ Bean があれば、依存性注入を使用できます。
助けてくれてありがとう
(ネットビーンズとグラスフィッシュところで)
servlets - 注入されていないときに EnityManager を閉じる方法は?
Oracle OCCAS サーバーでサーブレットを実行しています。現在、@Entity アノテーションを使用して、データベース内の一部のデータをアプリケーション内のエンティティ クラスにマップしています。ただし、EntityManager (@PersistenceContext) の注入に失敗しました。私の理解では、これは別のエンティティ EJB としてではなく、サーブレット コンテキストで実行されているためです。ただし、EntityManagerFactory を使用してマネージャーを作成することはできるので、現在はそれを使用しています。
ここで、アプリケーションを何度も再起動すると、PermGen スペース不足エラーが発生します。これはどういうわけか永続性に関連していると思います。finalize メソッドで EntityManager.close() への呼び出しがありますが、ログには表示されません。
これは悪い方法ですか? 別の Entity Bean が「必要」ですか、それとも EntityManager をクリーンアップするにはどうすればよいですか?
java - Java エンタープライズ アプリケーションを構成する最良の方法
EJB とその他の Java クラスのセットがあり、それらがデプロイされるシステム環境 (本番、テスト、またはラボ) に基づいて異なる構成が必要です。構成情報には、URL やデータベース接続情報などが含まれます。
各環境にまったく同じ製品 (EAR ファイル) をデプロイし、それがどこにあり、どのような構成が必要かをコードに認識させたいと考えています。各環境の各デプロイ サーバーに変更を加える必要はありません。 .
これらすべてのコンポーネントを一元化され、信頼性が高く、保守が容易な方法で構成する最善の方法は何ですか?
ご意見ありがとうございます。
java - ステートレス セッション Bean 内でユーザー情報を取得する方法
私は既存の j2ee アプリに取り組んでおり、ベンダー固有のメソッド呼び出しをコードから削除する必要があります。
セッション ファサードの背後にある daos は、データベースに接続するために、ejb コンテナを呼び出してユーザーの ID とパスワードを取得します。サーバーへの接続に使用される initialContext のユーザー ID とパスワードの部分。
を使用してユーザーIDを取得できますsessionContext.getCallerPrincipal()
とにかくSECURITY_CREDENTIALS
サーバー接続で使用されるものに到達する方法はありますか、またはサーバー接続から ejbs に情報を渡す方法はありますか (それらはすべてステートレス セッション Bean です)。
これは、リッチ クライアントと Web フロント エンドの両方を備えた大規模なアプリです。完璧な世界であれば、J2EE セキュリティなどを使用するために、ソリューション全体を再設計して再構築したいと考えていますが、残念ながら、それは現実的ではありません。
java - jar のロード中にエラーが発生しました
関連する jar が耳の lin フォルダーにあるにもかかわらず、アプリケーションで NoClassDefintion found エラーが発生します。エラーは次のとおりです。
java.rmi.RemoteException: EJB Exception: ; nested exception is:
java.lang.NoClassDefFoundError: com/sun/rave/web/ui/model/Option
同じユーザーライブラリをEclipseに追加したことに注意してください。コンパイルエラーは表示されません。このエラーは実行時のみです.....!!!!!
java - RMI、EJB、およびコールバック
EJB がクライアントをコールバックできるように、クライアントが RMI オブジェクトを引数として EJB に渡すことは可能ですか?