問題タブ [deltaspike]
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.
junit - Deltaspike Test-Control のロギングの構成
次の依存関係を使用して、CDI ベースのテストを行いました。
これらは私のlogging.propertiesです:
テストを実行すると、次のログ メッセージが表示されます。
これらのメッセージは必要ないので、logging.properties に次の構成を追加しました。
これで、最初の 2 行がなくなりました。CdiTestSuiteRunner$LogRunListener
どうすればメッセージを取り除くことができますか?
注: 次の構成でこれらのメッセージを取り除くことができます。
しかし、それは明らかに私が望むものではありません。
java - CDI を使用した DeltaSpike カスタム ConfigSource
カスタム DeltaSpike ConfigSource を定義しようとしています。カスタム構成ソースが最も優先度が高く、構成パラメーターについてデータベースをチェックします。
キーと値を持つだけの ConfigParameter エンティティがあります。
@Dependent
すべての構成パラメーターを見つける DAO があります。
私が今やろうとしているのは、データベースから構成パラメーターを取得できるカスタム ConfigSource を定義することです。したがって、DAO を ConfigSource に挿入したいと考えています。基本的に次のようなもの
ただし、 META-INF/services/org.apache.deltaspike.core.spi.config.ConfigSourceを介して ConfigSource を登録すると、クラスがインスタンス化され、CDI は機能しません。
この場合、CDI を機能させる方法はありますか?
事前に感謝します。さらに情報が必要な場合はお知らせください。
wildfly - Wildfly 10 の Deltaspike IllegalStateException
現在、コンテナを JBoss AS 7 から Wildfly 10 に更新中です。Deltaspike の統合を除いて、移行は順調に進んでいます。JBoss AS 7 AS では、すべてが期待どおりに機能していました。カスタムの SecurityBindingTypes と SecurityParameterBindings を作成するだけで済みました。Wildfly 10 で同じコードを実行しようとすると、次のエラーが発生します。
原因: java.lang.IllegalStateException: オーソライザー メソッド Bean の検索中に例外が発生しました - メソッド [class com.mimeya.deb.security.CustomAuthorizer.doSecuredComplianceReportReadAccessCheckForUnitId] の Bean が org.apache.deltaspike.security.impl.extension.Authorizer で見つかりませんでした。 org.apache.deltaspike.security.impl.extension.Authorizer.authorize(Authorizer.java:174) の lazyInitTargetBean(Authorizer.java:215) org.apache.deltaspike.security.impl.extension.DefaultSecurityStrategy.invokeBeforeMethodInvocationAuthorizers(DefaultSecurityStrategy. java:80) org.apache.deltaspike.security.impl.extension.DefaultSecurityStrategy.execute(DefaultSecurityStrategy.java:62) で org.apache.deltaspike.security.impl.extension.SecurityInterceptor.filterDeniedInvocations(SecurityInterceptor.java:44) で太陽で。反射します。NativeMethodAccessorImpl.invoke0(Native Method) の sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) の sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) の java.lang.reflect.Method.invoke(Method. java:498) org.jboss.weld.interceptor.reader.SimpleInterceptorInvocation$SimpleMethodInvocation.invoke(SimpleInterceptorInvocation.java:74) で org.jboss.weld.interceptor.proxy.WeldInvocationContext.invokeNext(WeldInvocationContext.java:83) で.jboss.weld.interceptor.proxy.WeldInvocationContext.proceed(WeldInvocationContext.java:115) org.jboss.weld.bean.InterceptorImpl.intercept(InterceptorImpl.java:108) org.jboss.as.weld.ejb.DelegatingInterceptorInvocationContext .proceed(DelegatingInterceptorInvocationContext.java:77) org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.delegateInterception(Jsr299BindingsInterceptor.java:68) org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:80) at org.jboss.as.weld.ejb. Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93) org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63) org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) ) org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43) で org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) で org.jboss.as.jpa.インターセプター.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47) org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) で org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437) で org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke (AbstractEJBRequestScopeActivationInterceptor.java:64) org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83) org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) org.jboss. as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)組織で。org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor. java:52) org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) で org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51) で org.jboss.invocation .InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275) ... 144 もっと見るorg.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52) の processInvocation(ChainedInterceptor.java:61) org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) の org org.jboss.as.ejb3.tx.CMTTxInterceptor の .jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51) .invokeInOurTx(CMTTxInterceptor.java:275) ... 144 もっと見るorg.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52) の processInvocation(ChainedInterceptor.java:61) org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) の org org.jboss.as.ejb3.tx.CMTTxInterceptor の .jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51) .invokeInOurTx(CMTTxInterceptor.java:275) ... 144 もっと見るPooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275) .. . 144 以上PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275) .. . 144 以上
参考までに、これはカスタム SecurityBindingType です。
これは、カスタム SecurityParameterBindings の 1 つです。
これは、私が呼び出しているメソッドの 1 つの例です。
私はたくさんのドキュメントを読んでいますが、役に立ちません。クイック スタート ガイド ( https://github.com/wildfly/quickstart/tree/10.x/deltaspike-authorization )、JBoss 開発者フォーラム、および Deltaspike ソース コード自体を見てきました。試してみるための助けやアイデアは大歓迎です。ありがとうございました。
java - Deltaspike i18n エンコーディング エラー
さまざまな言語でメッセージを取得および表示するために、Deltaspike Core を使用しています。デフォルトの MessageContext 実装を使用していますが、カスタム MessageResolver を使用しています。UTF-8として成文化されたプロパティのファイルを使用しようとするまでは、うまくいきました。
UTF-8 ファイルは locale_source.properties で、次のメッセージが含まれています。
messageKey=ローカリゼーションは責任を負いません。
そして、私のコードは次のようになります。
メッセージを取得しますが、成文化エラーがあります。
Localización no disponible.
ご覧のとおり、 ó がóに変わります。プロパティ ファイルのコード化を指定するものはありますか? この問題を解決するために他に何ができますか?
ありがとう。
jpa - @Transactional DeltaSpike で作成済みの EntityManager を使用する
DeltaSpike ライブラリで @Transactional を使用しようとしていますが、いくつか問題があります。どれどれ:
1) カスタム修飾子を使用して EntityManager を作成する DAO プロデューサーがあります。
今、他のクラスにDAOを注入していると想像してください:
プロデューサーが呼び出され、myPU01 を使用して EntityManager が作成されます。しかし、DAO クラス内にはメソッド save があり、DeltaSpike lib から @Transactional を使用したいと考えています。
問題はここにあります。@Transactional は別の EntityManager を作成しようとしますが、myPU01 で作成された EntityManager が既にあります。「保存」の横にpersistenceUnitNameを配置できません。
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.ChronoLocalDateTime
LocalDateTime
ZoneOffset
ZonedDateTime
UTCDateTime
エンティティ Bean のパーツ
エポック値がデータベースに保存されるため、UTCDateTime クラスのカスタム AttributeConverter もあります。
エンティティを永続化すると、次の例外が発生します (本当の原因の最後のビット)。
org.apache.deltaspike.data.impl.audit.PrePersistAuditListener
独自のものを実装し、org.apache.deltaspike.data.impl.audit.PreUpdateAuditListener
それらを使用して のインスタンスを作成する方法はありますUTCDateTime
か?
独自の EntityListener を作成して -->アプローチの次の場所でUTCDateTimeAuditListener
使用するのは正しいでしょうか?@EntityListeners(UTCDateTimeAuditEntityListener.class)
UTCDateTimeAuditListener
org.apache.deltaspike.data.impl.audit.AuditEntityListener
次に、インスタンスの構築方法を知ってUTCDateTimeAuditEntityListener
いる正しい実装への参照を確実に取得するために、どこかで CDI 修飾子を使用する必要がありPrePersistAuditListener
ますか?PreUpdateAuditListener
UTCDateTime
最後に、関連性があるかどうかはわかりませんが、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)
java - DeltaSpike @Transactional が呼び出されない
さて、私は DeltaSpike によって @Transactional を使用しようとしていますが、TransactionalInterceptor は呼び出されません。
これは私の EntityManagerProducer です:
EntityManager を注入して @Transactional を使用するクラスがあります。以下を参照してください。
そして、インターセプターを備えたbeans.xmlがあります。見てください:
この問題を解決するにはどうすればよいですか? Apache ページ ( https://deltaspike.apache.org/documentation/jpa.html )とまったく同じ例に従っています。
Tomcat7 + JDK 1.8 + CDI 1.2 (Weld 2.3.0 最終実装) を使用しています
編集1:
これは私のpersistence.xmlです
編集 2: pom.xml での私の依存関係