問題タブ [weld2]

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.

0 投票する
1 に答える
3709 参照

tomcat7 - Tomcat 7 での展開時の Omnifaces 例外

Omnifaces 2.1 を Web アプリケーションに追加して、FullAjaxExceptionHandler および Omnifaces 2.1 の他の機能を使用しようとしています。

BallusC による次の投稿を読んでフォローしましたが、まだ行き詰まっています: Tomcat に CDI をインストールして使用するにはどうすればよいですか?

Weld 2.2.9.Final をインストールして、上記のように構成しようとしました。私は以下を使用しています:

JSF 2.2、EL 2.2、サーブレット 3、Java 7

web.xml:

起動時に、まだ次の例外が発生します。

Catalina.log:

Localhost.log:

jar は実際に存在し、アプリケーションに追加されています。

他に何がこのエラーを引き起こしている可能性がありますか?

0 投票する
1 に答える
434 参照

cdi - プロデューサーは Arquillian プロセスで Weld によって発見されます

Glassfish 組み込みプラグインを使用して Arquillian で単体テストを実行しているときに、次の CDI エラーが発生します。

修飾子 @SupportedLocales を持つ Set(Locale) は、テスト済みの WebArchive にデプロイされたモジュールで定義されます。アーカイブの内容は次のとおりです。

このオブジェクトは、「common-cdi」モジュールにあるプロデューサー メソッドによって提供されます。同じモジュールが ThreadScoped のような CDI 拡張機能を提供します。このプロデューサーは、テストの開始時に Weld によって検出されず、Weld は「commons-cdi」モジュールから Bean を検出しません。それはどのように可能ですか?同じモジュールで CDI 拡張機能と CDI Bean を提供できますか?

@SupportedLocales は、「commons-cdi」で次のように宣言されています。

プロデューサーは、「commons-cdi」で次のように宣言されています。

JUnit テスト ケース定義:

MyCurrentLocale クラス定義:

宣言に何か問題がありますか?

0 投票する
0 に答える
170 参照

jsf - スーパークラスからの JSF+WELD CDI+EL MethodNotFound

環境:

ワイルドフライ 9.0.1

JSF: jsf-impl-2.2.11-jbossorg-1

溶接: wildfly-weld-9.0.1

私はこのシナリオを持っています:

CustomerController.java

Type1CustomerController.java

Type2CustomerController.java

CustomerSelectionController.java

Type2CustomerControllerが選択されると、すべて正常に動作します。Type1CustomerController災害が発生した場合:

Type1Controller でオーバーライドされたスーパークラス メソッドが EL で見つからないという問題は何ですか?

0 投票する
1 に答える
384 参照

cdi - 溶接 CDI カスタム スコープのシード値

Guice のバックグラウンドから来て、使用してスコープからオブジェクト値をシードできることを知っています。

から値を取得する Bean を登録することでこれを行うことができると思いますがAbstractBoundContext、カスタム スコープから 1 つの値をシードするだけの例は見つけにくいようです。他の場所に注入できる値をシードするカスタム スコープを作成するにはどうすればよいですか?

編集: 現在、次の回避策を使用しています。これは、スコープに入るときにインターセプターに挿入して設定しConfiguration、スレッドローカルプロバイダーを介して挿入できます。ただし、ハックが少ないと感じたり、Weldのスコープ/スコープコンテキストシステムとより統合されているオプションをまだ探しています。

0 投票する
4 に答える
4137 参照

java - Jersey 2.23で組み込みの例外マッパーをオーバーライドするには?

私のプロジェクトの 1 つで、すでに Jersey をバージョン2.14から にアップグレードしました2.23。しかし、私は1つの問題で何時間も苦労しています。私のプロジェクトでは独自ExceptionMapperの a を定義しValidationExceptionていますが、残念ながら、Jersey にはこの例外用の組み込みの例外マッパーが既にあり、それをオーバーライドすることはできません。

以下に示す独自のマッパーを正しく登録しました(チェックしました):

しかし、それは決して呼び出されていません。ジャージーは常にorg.glassfish.jersey.server.validation.internal.ValidationExceptionMapper. カスタムマッパーにも注釈を使用しようとしまし @Priorityたが、残念ながらJerseyはそれを考慮していません.

それで、何が起こっているのですか?以前のジャージー バージョンでは問題なく動作していたので、回帰バグのようです。

あきらめる。手がかりはありますか?

0 投票する
1 に答える
884 参照

cdi - Deltaspike データ (CDI + JPA) UTC でのカスタム java.time.ChronoLocalDateTime のカスタム PrePersistAuditListener および PreUpdateAuditListener

Wildfly 9.0.2.Final の Deltaspike バージョン 1.7.2

エンティティ Bean でJPA@EntityListeners(AuditEntityListener.class)と Deltaspike Data ( @CreatedOn@ModifiedOnおよび注釈) の監査機能を使用していますが、 + OR aを UTC の日付と時刻に変換@ModifiedByするカスタム実装があるという違いがあります。java.time.ChronoLocalDateTimeLocalDateTimeZoneOffsetZonedDateTime

UTCDateTime

エンティティ Bean のパーツ

エポック値がデータベースに保存されるため、UTCDateTime クラスのカスタム AttributeConverter もあります。

エンティティを永続化すると、次の例外が発生します (本当の原因の最後のビット)。

org.apache.deltaspike.data.impl.audit.PrePersistAuditListener独自のものを実装し、org.apache.deltaspike.data.impl.audit.PreUpdateAuditListenerそれらを使用して のインスタンスを作成する方法はありますUTCDateTimeか?

独自の EntityListener を作成して -->アプローチの次の場所でUTCDateTimeAuditListener使用するのは正しいでしょうか?@EntityListeners(UTCDateTimeAuditEntityListener.class)UTCDateTimeAuditListenerorg.apache.deltaspike.data.impl.audit.AuditEntityListener

次に、インスタンスの構築方法を知ってUTCDateTimeAuditEntityListenerいる正しい実装への参照を確実に取得するために、どこかで CDI 修飾子を使用する必要がありPrePersistAuditListenerますか?PreUpdateAuditListenerUTCDateTime

最後に、関連性があるかどうかはわかりませんが、org.apache.deltaspike.data.impl.audit.TimestampsProviderこのシナリオのどこに当てはまりますか?

アップデート

質問への回答が少し進みました。私がこれまでにやってきたこと。カスタムの必要はありませんAuditEntityListener。DeltaSpike が提供するもので十分です。

オブジェクトTimestampsProviderを処理できる の新しい実装を作成しました。UTCDateTime

beans.xml には、これも CDI @Alternative としてリストされています。

の内容apache-deltaspike.properties

問題は、両方のAuditProviderインスタンスが実行されることです。最初に実装 ( UTCDateTimeAuditProvider) が実行され、次にデフォルトが実行されます。TimestampsProvider

@Alternative 実装をアノテーションのみ、またはbeans.xmlのみ、およびクラスとbeans.xmlの両方で指定するさまざまな組み合わせを試しました。

TimestampsProvider@Alternative の実装後にデフォルトが実行される理由を知っている人はいますか?

Wildfly 9.0.2 の Deltaspike バージョン 1.7.2.Final with Weld 2.2.16 (SP1)