問題タブ [apache-tomee]
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 - TomEEでOpenEJBサンプルWebサービスにアクセスする際のルックアップエラー
OpenEJBを使用して簡単なWebサービスを作成しようとしています。TomEEプロジェクトのサンプルコード(webapps / ejb-webservice)から始めました。
http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/examples-4.0.0-beta-1-src.tar.gz
サービスクラスはアノテーションを使用します。
すべてがうまく構築されます。サーバーへのwarのデプロイにも問題はありませんが(TomEE 1.0.0-beta-1-webprofileを使用しています)、このWebサービスにアクセスしようとすると、内部OpenEJBメソッドから一連のNameNotFoundExceptionがトリガーされます。
同様のルックアップエラーのある投稿を見つけました:
しかし、問題は名前検索方法の使用でした。サンプルコードでは、明示的なルックアップはありません。
誰かがこの問題の原因が何であるかを知ることができますか?
java - JavaEE ソリューション構成のベスト プラクティス
通常、すべてがデータベースと通信し、いくつかの外部統合ポイントを持ついくつかの webapp および ejbjar モジュールで構成される 3 層のエンタープライズ ソリューションを構築します。
通常、各モジュールには、ソリューションの存続期間中に変更される可能性のある独自の構成が必要です。データソース、キュー、メモリ要件などを設定するためにコピーして構成する必要がある 18 個のプロパティ ファイルがあるため、展開は悪夢になります。
私は希望を持っていますが、より良い方法があるかもしれないと楽観的ではありません. 私たちが検討/使用したいくつかのオプションには、それぞれ長所と短所があります。
- 複数の Maven プロジェクトと継続的インテグレーション (例: hudson または jenkins) を使用して、各環境 (dev、qa、prod) のすべてのプロパティ ファイルを含む構成 jar を構築し、すべてを EAR としてバンドルします。しかし、必要なときに本番環境で簡単に変更することはできません。
- ほとんどの設定を DB に置き、それを変更するための簡単な画面を用意します。内部的には、値を読み取って変更できる汎用構成サービス EJB を使用できます。各モジュールには、特定のゲッターとセッターを持つカスタム拡張バージョンを含めることができます。
- すべてのプロパティ ファイルをバージョン管理してから、本番環境でチェックアウトし、変更を加えた後で本番環境のブランチにチェックインします。
これらすべてで、コンテナ固有の方法でデータソースやキューなどを構成する必要があります:(
java - TomEE の別の Web アプリケーションからシングルトン EJB にアクセスする
Apache TomEE+ に 2 つの Web アプリケーションをデプロイしています。最初の webapp では、次のように宣言されたシングルトン EJB クラスを作成しました。
openejb.log から、シングルトンが利用可能であることがわかります。
他のアプリからそのシングルトン Bean にアクセスしたいので、次のようにします。
しかし、その後 ClassCastException が発生します
この $Proxy94 クラスがインターフェースを実装していることを確認しました: grid.solver.SolverRegistry、org.apache.openejb.core.ivm.IntraVmProxy、org.apache.openejb.BeanContext$Removable。
なぜこれが機能しないのですか?
jpa - TomEE 4 JPA の問題
TomEE 4.0.0 で単純な JPA の例を試していますが、PersistenceContextType.EXTENDED を機能させることができません。
セッション Bean をステートレスにして PersistenceContextType のままにすると、問題なく動作します
セッション Bean をステートレスのままにしてから、これを使用しようとすると
展開中にエラーが発生しますが、これはまったく問題なく、期待どおりです。
ただし、Bean を @Stateful として作成すると、エラーが発生します
誰か助けてください、私はこれについて本当に混乱しています
web-services - TomEE ルックアップ エラー
Tomcat と openejb を別々のインストールで使用する WebApp があります。これを TomEE (Web プロファイル / プラス) 環境に移行しようとしていますが、ルックアップ エラーが発生しています。JNDIContext が java.lang.NullPointerException をスローしています。
最初にTomEE Webプロファイルで試しました。私の webapp も web サービスを使用しており、web プロファイルが web サービスをサポートしていないため、Google 検索で TomEE plus を試してみることにしました。このバージョンでも運はありません。
2 つのバージョンの違いの 1 つは、TomEE Web プロファイルでは、openejb Web アプリケーションにアクセスすると、すべてのリモート オブジェクトが表示されることです。ただし、TomEE plus バージョンでは表示されません。
http://localhost:8080/openejb/viewjndi.jsp
これを解決する方法について何か提案はありますか? 設定の問題だと思いますが、どれかわかりません。
完全なスタック トレースは次のとおりです。
java - Eclipse 動的 Web プロジェクトに EJB 機能を追加するにはどうすればよいですか?
私は、デプロイメントに OpenEJB を使用し、IDE として Eclipse を使用して、EJB 3.0 で単純なアプリケーションを開発しています。
Eclipse で「動的 Web アプリケーション」としてプロジェクトを作成しました。最初のステートレス セッション Bean を作成しようとしたときに、@Remote アノテーションを解決できないことに気付きました。
この問題を解決する正しい方法は何ですか?
- プロジェクトを削除し、新しい「エンタープライズ アプリケーション プロジェクト」を作成します (これはかなり重いように思われるので、この方向に進むかどうかはわかりません)。
- プロジェクトを削除し、EJB プロジェクトを作成します (このようなプロジェクトでは、アプリケーションの EJB 部分のみをバンドルできると考えているため、これは適切ではないようです)。
- 既存のプロジェクトにいくつかのライブラリを追加します (EJB 3.x 用のライブラリ パックはありますか) ?
- 既存のプロジェクトにファセットを追加します (ファセットを追加できるかどうかを確認しようとしましたが、このプロジェクトのコンテキスト内に EJB ファセットが表示されません) ?
助けてくれてありがとう。
更新: 答えが見つかりました。
TomEE のインストールには、EJB の「apache-tomee-webprofile-1.0.0-beta-2/webapps/openejb/lib」をコンパイルして実行するために必要なすべての jar ファイルを含むディレクトリがあります。
上記の lib フォルダーのすべての jar を含むユーザー ライブラリを Eclipse で作成し、それをビルド パスに追加しました。
EJB インターフェイスが正しくコンパイルされるようになりました。
java - OpenEJBを使用したステートレスセッションBeanの名前の制御
OpenEJB(TomEE ++)コンテナーを使用してEJBプロジェクトに取り組んでいます。JNDIルックアップ名をコードで制御する必要があるセッションBeanがあります。
私の問題は、このBeanがバインドされる名前が「global / slides/SlideService」であるということです。
特に言及していませんが、OpenEJBはアプリケーション名を使用しているようです。
これは移植性を損なうでしょうか?他のコンテナがアプリケーション名を使用しない可能性はありますか?
name属性とmappedName属性を使用して、ステートレスBeanの名前を制御する正しい方法ですか、それとも他の(より良い)方法がありますか?
java - どのInitialContextFactoryを使用する必要がありますか?
OpenEJB(TomEE ++)を使用してEJB3プロジェクトに取り組んでいます。
名前がアノテーションで指定されたステートレスセッションBeanがあります。
このように、StrutsアクションクラスからSessionBeanを検索します。
上記のコードでは、Beanのアノテーションで「SlideService」を明示的に指定しているのに対し、Beanを見つけるために「SlideServiceLocalBean」という名前を使用する必要があることに気付くでしょう。
ただし、テストケースでBeanを見つけようとすると、さらに別の名前文字列を使用する必要があります。
ルックアップ名に不一致があるのはなぜですか?
StrutsアクションクラスでInitialContextを正しい方法で取得していますか、それとも別のメカニズム/ contextFactoryを使用して初期コンテキストを取得する必要がありますか?
外部DIライブラリを使用せずに、アクションクラスにBeanを注入することは可能ですか?
java - TomEE Java EE6 は認定されているのに、TomEE+ は認定されていないのはなぜですか?
タイトルの通りです。私は Java EE6 認定の内部の仕組みについてあまり知識がありません。しかし、TomEE+ は TomEE のスーパーセットに過ぎないように思われるので、TomEE+ も Java EE6 認定を受けるべきではないでしょうか?
社内で開発した管理アプリ用に Tomcat を構築することにしました (Glassfish の多くの機能は使用しません)。必要なものがほぼすべて揃っている TomEE+ に非常に興味をそそられています。
参考までに、私たちはもともと Tomcat7 を見ていて、Jersey と Hibernate をインストールしていました。
jakarta-ee - ApacheTomEEを使用する場合のアプリケーションの起動と構成のワークフローは何ですか
Apache TomEEは、openejbをWebアプリとして使用する通常のTomcatインストールであることを理解しています。
私はこのすべてがどのようにブートストラップするかを理解しようとしています。私はいくつかの指示された質問をしようとします:
- アプリケーションの起動順序を設定することは重要ですか?openejbは私のWebアプリの前に開始する必要がありますか、またはその逆ですか、それとも問題ではありませんか?
- 前の質問に関連しています。エンタープライズアプリケーションはどのようにしてBeanをopenejbに登録しますか、それともopenejbが同じサーバー内のエンタープライズアプリケーションをEJBのために探し回るのですか?
- 非常に素人レベルでは、別のWebアプリである場合、どのようにしてopenejbをEJBコンテナーとして提供できたのでしょうか。(IIRC TomcatのすべてのWebアプリは異なるクラスパスを取得し、お互いのつま先を踏むことはできません)
その他の重要な情報。