問題タブ [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.
ejb - TomEE 1.5.2 インターフェイス レベルの @Path アノテーションがまだ機能しない
ここで主張されているにもかかわらず:
クラス レベルで @Path が欠落しているために動作しないアプリケーションの場合 -> 今すぐ動作するはずです
インターフェイスの注釈が取得されていないため、エンドポイントの実装に注釈を付ける必要があります。
JAX-RS の構成方法に関連していますか、それとも TomEE にまだ存在するバグですか?
インターフェース:
実装:
openejb-jar.xml
リソース.xml
ルート要素が空のだけの beans.xml が存在する
アップデート:
- JAX-RS 仕様では、クラスレベルの注釈についてはまったく言及されていないようです
- @Consumes と @Produces は、インターフェイスに適用すると機能します。
- @Path (クラス レベル) は、インターフェイスに適用すると機能しません。
- メソッド レベルの @Path は、リクエストをルーティングするときに受け入れられますが、UriBuilder は失敗しています:
UriBuilder.path(EJBBackedMyEndpoint.class, "getById")
throwsIllegalArgumentException: No Path annotation for 'retrieve' method
。
spring - TomEE の JTA トランザクション マネージャにアクセスするにはどうすればよいですか?
Spring の宣言型トランザクション管理を使用するアプリケーションがあります。アプリケーションが TomEE の JTA トランザクション マネージャーを使用するように、これを TomEE+ コンテナーにデプロイするにはどうすればよいですか?
より具体的には、Spring の「application-context.xml」ファイル内から組み込みのトランザクション マネージャーを参照するにはどうすればよいですか?
Spring のトランザクション管理構成は、Bean 参照または JNDI ルックアップのいずれかによってトランザクション マネージャーをルックアップする必要があるようです。私はこれを調査し、ソース コードを調べるのに 1 日を費やしました。この問題に関する多くの議論を見つけました (以下の参照) が、決定的なハウツーはありません。
アプリケーションの META-INF/persistence.xml にあるのは次のとおりです。
そして、アプリケーションの META-INF/spring/applicationContext.xml ファイルには次のものがあります:
JBoss で動作すると主張されている例を次に示します。Spring JTA 構成 - TransactionManager を設定する方法は?
これは、xml 構成ファイルで機能しないニアミスです: https://issues.apache.org/jira/browse/TOMEE-38
initialContext を使用している場合の Java コード内での実行方法は次のとおりです。
[編集: Tomee のドキュメントでは、トランザクション マネージャーを宣言する方法について説明していますが、個々の Web アプリケーションではなくサーバーに属する Tomee.xml で行うように指示されています。サーバー全体ではなく、単一のアプリに対してトランザクションマネージャーを構成したい: http://tomee.apache.org/containers-and-resources.html]
jakarta-ee - Tomee 1.5.2 JAX-RS with Jackson 1.9.12
Tomee 1.5.2 JAX-RS を Jackson で動作させるために、私は長い間努力してきました。100通りの方法を試したと思います。
これが私の最後の試みです:
conf/system.properties に次を追加しました。
Tomeeのlibフォルダーに追加しました:
- ジャクソン-マッパー-asl-1.9.12.jar
- jackson-core-asl-1.9.12.jar
- ジャクソン-jaxrs-1.9.12.jar
クリーンな NetBeans Maven Web プロジェクトに単純な JAX-RS クラスがあります。Mirc は、名前と車を持つ POJO です。
「応答クラス myclass のメッセージ本文ライターが見つかりませんでした」というメッセージが表示され続けます。
私は何を取りこぼしたか?どうすれば動作させることができますか? stackoverflow のすべての投稿を確認しましたが、成功しませんでした。
助けていただければ幸いです。ありがとう。
ajax - Tomee で ActiveMQ Ajax サーブレットを使用する方法はありますか?
Tomee で ActiveMQ Ajax サーブレットを使用する方法はありますか?
このドキュメンテーションページは、「ただ動く」ことを暗示しています: http://activemq.apache.org/tomee.html
しかし、他の場所では、サーブレットが Jetty に依存していることが明らかにされています: http://activemq.2283324.n4.nabble.com/AjaxServlet-on-Tomcat-td3601798.html。ユーザー Hexaplus は、Jetty ライブラリを含めることで機能するようになったと言っています。
Hexaplus の指示に従ってもうまくいきませんでした。次のエラースタックトレースが表示されます
他の人も同じ問題を報告しています。例えば: (2 つ以上のリンクを投稿することはできません)
cxf - TomEE+ で JAX-RS ベースパスを設定するにはどうすればよいですか?
TomEE Plus にデプロイされた、いくつかの JAX-RS サービスとの WAR があります。で注釈が付けられたサービスを指定すると@Path("myservice")
、TomEE+ はそれを に公開しlocalhost:8080/mywebapp/myservice
ます。
ただし、それはまた、JSP へのアクセスをlocalhost:8080/mywebapp/index.jsp
不可能にします - JAXRSInInterceptor はNo root resource matching request path has been found, Relative Path: /index.jsp
.
そのため、 URL をapi
に変更するすべてのサービスへのパス プレフィックスを構成したいと思います。CXF サーブレットの URL パターンを変更するだけで済むため、(Spring の有無にかかわらず) 自分で CXF を構成した場合、これは簡単です。注釈。では、この場合はどうすればよいのでしょうか。myservice
localhost:8080/mywebapp/api/myservice
注釈を変更してプレフィックスを含めたくないことに注意してください@Path
。JSP の問題は解決されないためです。
spring - 同じ Entity Manager を使用する Spring と OpenEJB
どちらも TomEE コンテナーにある Spring Bean と EJB を取得して、共通の永続化コンテキストを使用するにはどうすればよいですか?
主にSpringアプリケーションにいくつかのEJBコンポーネントを取り込もうとしています。最終的にはすべてが EJB3 または Spring になりますが、近い将来、私はハイブリッドの世界に住んでいます。
- DataSource は、アプリケーションの resources.xml ファイルで定義されます
- PersistenceUnit は、データソースを参照する persistence.xml ファイルで定義されています
Spring は、applicationContext.xml ファイルで次のようにコンテナー トランザクション マネージャーと EntityManagerFactory にアクセスします。
/li>Spring および EJB コンポーネントは、トランザクション マネージャー、エンティティ マネージャー、またはデータ ソースを問題なく見つけることができます。完全にSpringまたは完全にEJBであれば何でも問題なく動作します。しかし...
EJB でトランザクションを開始し、Spring Bean で呼び出されたメソッドに伝播する必要があるポイントがいくつかあります。この時点で、Spring Bean は、管理されていないエンティティを操作していると不平を言います。EJB の開始メソッドにアノテーションを付け、
@TransactionAttribute
Spring Bean の受信メソッドに@Transactional(propagation=Propagation.Mandatory)
;アノテーションを付けます。Spring Bean は、トランザクション コンテキストにないことについて不平を言いませんが、this.entityManager.contains(this)
false を返すことで検証されるように、何らかの形で永続化コンテキストが続きません。
問題は、Spring と OpenEJB がエンティティーマネージャーの注入を処理する方法にあるようです。EJB と Spring Bean に同じコードを含めると、次のようになります。
EJB ではem
、のインスタンスが注入されます。org.apache.openejb.persistence.JtaEntityManager
一方、Spring では、em
次のように出力されるものが注入されます。
shared EntityManager proxy for target factory [org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory@1ca24fe7]
JtaEntityManager
と Proxy の両方に、基本となる同じインスタンスが含まれています。org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory
Spring と EJB の統合に関する情報はすべて読みましたが、共有永続化コンテキストや、EJB から Spring Bean にまたがるトランザクションを扱う具体的なものは見つかりませんでした。
java - EJB インジェクションと JSF マネージド Bean のみ
私の質問が完全に無意味であるかどうかはわかりませんが、それに関する直接的な情報は見つかりません。
JSF + Tomcat アプリケーションがあり、問題なく動作しました。Restful サービスと JAAS ロジックを実装したい。そのために、TomEE++ に切り替えました。
TomEE に切り替えると、サーバーがより重くなり、Amazon AWS マイクロ インスタンスよりも多くcpu
のリソースが必要になるのではないかと心配しています。ram
問題は、JSF マネージド Bean のみから JSF + EJB に切り替えた場合、パフォーマンスが低下するかどうかです。
サブ質問は、EJB インジェクションでできることと、JSF マネージド Bean でできないことです。(たとえば、JSF は周期的な注入を許可しません)
java - JSF / Spring Security : ビューラッパーが LinkageError を生成する
JSF レンダリングに問題があります。これが私のセットアップです:
- CentOS
- TomEE Plus 1.5.2
- アイスフェイス
- 春のセキュリティ 3
そして、私のアプリは次のように設定されています:
- /opt/tomee/lib/[すべての通常の TomEE jar]
- /opt/tomee/lib/[すべての Spring Security jar]
- /opt/tomee/lib/icefaces.jar
- /opt/tomee/lib/icefaces-compat.jar
- /opt/tomee/lib/icepush.jar
- /opt/tomee/webapps/UI/index.xhtml
- /opt/tomee/webapps/UI/WEB-INF/lib/icefaces-ace.jar
- /opt/tomee/webapps/UI/[通常のjsf2設定]
ログには明らかなものは何もありませんが、JSF がレンダリングしようとすると、次のエラーが発生します。
エラー ページのスタック トレースは大量なので、ここで小説をダンプするつもりはありませんが、注目すべき呼び出しを次に示します。
すべての jar の内容を tomee/lib にダンプしましたが、com.sun.crypto は Web サーバーのどこにもありません。Spring Security を使用しないアプリは問題なく動作します。
何かご意見は?