2017-09-25 11 views
0

春データの@DomainEventsAbstractAggregateRoot仕事は素晴らしいセーブで(一覧反復可能オブジェクト)で失敗したが、それは上で使用されるドメインオブジェクトにrepository.save(Iterable<S> entities)で失敗しました。春データ@DomainEventsは

エラートレースは以下の通りです: -

java.lang.IllegalArgumentException: object is not an instance of declaring class 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:216) 
at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:201) 
at org.springframework.data.repository.core.support.EventPublishingRepositoryProxyPostProcessor$EventPublishingMethod.publishEventsFrom(EventPublishingRepositoryProxyPostProcessor.java:173) 
at org.springframework.data.repository.core.support.EventPublishingRepositoryProxyPostProcessor$EventPublishingMethodInterceptor.invoke(EventPublishingRepositoryProxyPostProcessor.java:97) 
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) 
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
at org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke(SurroundingTransactionDetectorMethodInterceptor.java:57) 
at org.springframework.aop.framework. 

問題が原因であるclearDomainEvents(…)あれば素晴らしいだろうEventPublishingRepositoryProxyPostProcessor

if (clearingMethod != null) { 
     ReflectionUtils.invokeMethod(clearingMethod, object); 
    } 

に以下のコードに従って上記の場合に適用されていますこれは解決することができますか、私はここで何かを逃しています。

+0

デバッグを試しましたか? – emotionlessbananas

+0

yupは、オブジェクトのclearDomainEventsメソッドを呼び出そうとしましたが、保存(iterables)の場合はリストであり、処理されるイベントを公開しますが、clearDomainEventsの場合も同様です。 –

+0

これを正しく理解すれば、イベント処理コードが空であってもこの例外が発生しますか?このような場合は、バグを報告してください。 –

答えて

2

DATACMNS-1067に実行中のようですが、これはIngalls SR4リリーストレインで修正されています。このバージョンにアップグレードするか、(推奨)最新のバージョン、現在Ingalls SR7にアップグレードしてください。

+0

ありがとうOliver that works! –

+0

こんにちはOliverさんへのフォローアップの質問イベントがネストされた方法で解雇されたとすると、並行変更例外が発生しています。ドメインに発砲 例イベント1 - リスナーによって捕捉> イベント1 - 同じドメインオブジェクト にリスナーの内部に発生> イベント2 .Should A conncurrentコピーオンライトArrayListの代わりに使用することマルチスレッド設定のすべての上記の撮影場所。 –