問題タブ [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 - NetBeans でエンタープライズ プロジェクトに TomEE を設定するにはどうすればよいですか?
TomEE++ をサーバーとして接続しましたが、 NetBeansのプロジェクトにApache Tomcat
最適です。Java Web
しかし、enterprise
プロジェクトを作成するときに、設定するオプションがありませんTomEE++
。GlassFish
Netbeans は、またはサーバーとして追加することを望んでいJboss
ます。
これは、Netbeans が依然として Tomcat サーバーをエンタープライズ サポートのない単なる Web コンテナーとして扱うことを意味するのでしょうか?
製品バージョン: NetBeans IDE 7.3.1 (ビルド 201306052037)
java - あまりにも多くの @Asynchronous 操作で TomEE がチョークする
私はApache TomEE 1.5.2 JAX-RSを使用しています.
以下は単純化されたコードです。シグナルを受信するための REST スタイルのインターフェイスがあります。
信号を受信すると、多くのことがトリガーされます。ストアはエンティティを作成し、非同期イベントを発生させます。
ディスパッチャは非常に単純で、イベント処理を非同期にするためだけに存在します。
イベントの受信は別のものであり、シグナルからデータを取得して保存し、別の非同期イベントを発生させます。
それに反応することは、エンティティ作成の第 3 層ですらあります。
要約すると、同期的に を作成する REST 呼び出しがありSignalEntity
、非同期的に の作成をDerivedDataEntity
トリガーし、3 番目のタイプのエンティティの作成を非同期的にトリガーします。それはすべて完璧に機能し、ストレージプロセスは美しく分離されています.
forループで多くのシグナル(fe 1000)をプログラムでトリガーする場合を除きます。私のAsynchronousPool
サイズにもよりますが、そのサイズの約半分の信号を (非常に高速に) 処理した後、アプリケーションは数分間完全にフリーズします。その後、再びフリーズする前に、ほぼ同じ量の信号を非常に高速に処理するために再開します。
AsynchronousPool
過去30分間、設定をいじっていました。たとえば、2000 に設定すると、フリーズすることなく、すべての信号を一度に簡単に処理できます。しかし、その後、システムも正気ではありません。別の 1000 のシグナルをトリガーすると、それらは問題なく作成されましたが、派生データの作成全体は発生しませんでした。
今、私は何をすべきかについて完全に途方に暮れています。もちろん、これらすべての非同期イベントを取り除き、ある種のキューを自分で実装することはできますが、EE コンテナーのポイントは、そのような退屈な作業から解放されることだと常に考えていました。非同期 EJB イベントは、独自のキュー メカニズムをすでに持っているはずです。キューがいっぱいになってもすぐにフリーズしないもの。
何か案は?
アップデート:
1.6.0-SNAPSHOT で試してみました。動作が少し異なります: それでも動作しませんが、例外が発生します:
あたかも TomEE が操作のキューイングをまったく行わないかのようです。呼び出しの瞬間に処理できるスレッドがない場合は、運が悪くなります。確かに、これは意図したものではありません..?
更新 2:
AsynchronousPool.QueueSize
プロパティを maxint に設定すると、フリーズが解決します。しかし、疑問が残ります: そもそもなぜ QueueSize がそれほど制限されているのでしょうか? さらに心配なことに: なぜこれがアプリケーション全体をブロックするのでしょうか? キューがいっぱいになるとブロックされますが、タスクがそこから取り出されるとすぐに別のタスクが表示されるはずですよね? 再び完全に空になるまで、キューはブロックされているように見えます。
更新 3:
試してみたい方: http://github.com/JanDoerrenhaus/tomeefreezetestcase
更新 4:
結局のところ、キューのサイズを大きくしても問題は解決されず、遅延するだけです。問題は同じままです。一度に多すぎる非同期操作を行うと、TomEE があまりにもひどく詰まり、終了時にアプリケーションをアンデプロイすることさえできなくなります。
これまでのところ、私の診断では、タスクのクリーンアップが正しく機能していません。私のタスクはすべて非常に小さくて高速です ( github のテスト ケースを参照してください)。同時呼び出しが多すぎると OpenJPA または HSQLDB の速度が低下するのではないかとすでに心配していましたが、すべての呼び出しをコメントアウトしましたがem.persist
、問題は同じままでした。したがって、タスクが非常に小さくて高速であるにもかかわらず、TomEE をブロックして 30 秒後にそれ以上のタスクを取得できなかった場合 ( javax.ejb.EJBException: fail to allocate internal resource to execute the target task
)、完了したタスクが長引いて、いわばパイプを詰まらせていると想像できます。 .
この問題を解決するにはどうすればよいですか?
java - tomeeでデータソースパスワードまたはデータソースを暗号化する方法
他のユーザーが読み取れないように、パスワードを暗号化された形式で保存したい。私のtomee.xml
ファイルには
apache-tomee-jaxrs-1.5.2 を使用しています。
java - tomee.xmlで宣言されたデータソースをjavaクラスで利用する方法
こんにちは、tomee.xml ファイルと web.xml ファイルでデータ ソースを構成します。これは、プロジェクトを実行するときに正常に動作しますが、そこで使用したときに使用する必要があるテスト ケースを実装すると、例外 javax.naming.NoInitialContextException が発生します。 : 環境またはシステム プロパティで、またはアプレット パラメータとして、またはアプリケーション リソース ファイルでクラス名を指定する必要があります: java.naming.factory.initial
これは私の tomee.xml ファイルです
このコードはサーブレットで正常に動作していますが、Java クラスで書いている場合、例外が発生します。これは、アクセスするための私の Java クラスです。
maven - TomEE maven プラグインを使用して EJB jar を自動デプロイする方法
jar ファイルにパッケージ化されたステートレス EJB SOAP Web サービスがあります。
アプリが 1 つの EJB jar ファイルのみで構成されている場合、Tomee maven プラグインを使用して自動デプロイをセットアップすることは可能ですか?
たとえば、このサイトは、server.xml で定義された Web コンテキストが必要であることを示しています。私の同期設定は、サイトが示唆するものと同じです。
コマンドは、通常どおりにソースをコンパイルするだけです。
EJB jar でこのようなものをセットアップする可能性はありますか、それとも WAR パッケージが必要ですか?
ありがとう。
アップデート
TomEE Maven プラグインを jar ファイルで動作させるために、pom.xml 構成セクションに以下を追加しました。
jsf-2 - Deltaspikes @WindowScoped は TomEE と連携していますか?
Deltaspikes @WindowScoped を TomEE で動作させる方法に苦労しています (1.5.2、1.5.3-SNAPSHOT、および 1.6.0-SNAPSHOT を試しました)。
deltaspike 0.4 コア + jsf の依存関係を伴う、非常に最小限の戦争です。
今、私はこのような HelloWorldBean を作成しました:
空のbeans.xml、空のfaces-config.xml、および非常に最小限のweb.xmlがあります。
私が持っている非常に単純なページで。
ページは正常に動作し、windowId がリクエストに追加され、ページを更新すると、Bean がインスタンス化されていないことがわかります (つまり、test() は 1 回だけ呼び出されます)。しかし、commandButton を押すとすぐに ContextNotActiveException 例外が発生します。
明らかな何かが欠けていますか?それともDeltaSpikeのバグですか?(またはTomEE?)
oracle-adf - tomeeにj2eeコンポーネントを含むadf Webアプリケーションをデプロイする方法は?
まず、Tomcat 7 をインストールしてから、次の URL に adf アプリケーション acc をデプロイできました: https://blogs.oracle.com/adfthoughts/entry/running_adf_essentials_in_tomcat しかし、jpa と hibernate を使用したモデル プロジェクトを持つ j2ee アプリケーションをサーバーで実行したいなど、そのためにTomEEが必要です。win7 システムに TomEE 1.5.2 バージョンをインストールしました。Tomcat 7 で既に行ったのと同じ手順を適用しましたが、結果は失敗しました。
次のエラーが表示されます。
authentication - 許可されていないユーザーのフォーム認証
Web アプリケーションにフォーム ベースの認証を実装しています。
TomEE サーバーの JDBCrealm に何人かのユーザーを作成し、特定のユーザーのみが保護された jsf ページにアクセスできるようにしました。
現在、認証は完全に機能し、ユーザー名とパスワードが一致しない場合は、エラー ページにリダイレクトされます。
ここで直面している問題は、保護されたページへのアクセスが許可されていない JDBCrealm で既に使用可能なユーザーでログインしようとすると、403 エラーが発生することです。
戻って保護されたページにアクセスしようとすると、再度ログインできません。ログインに関する情報がセッションに記憶されており、セッションを無効にする必要があるためですか?
ログインしなくても?
編集:
フォーラムで質問します: http://openejb.979440.n4.nabble.com/Bug-in-security-TomEE-td4665009.html
そして、それが私の質問に対する最良の答えだと思います
maven - OpenEJB (TomEE+) が ArithmeticException で起動に失敗する
私は Maven で Tomee+ を使用しています。ローカルで実行できます (Windows XP/7、JDK 1.6、Maven 2.2.1) が、Jenkins CI サーバーでテストを実行すると、これらの負荷が発生してハングします。
私はopenejb 4.5.1を使用しています:
Jenkins CI サーバーは、JDK1.6、Maven 2 を実行する 80 コアの Red Hat 4.1.x (Linux 2.6.x) ボックスです。