「executor」プラグインをGrailsアプリにインストールして、単純な非同期処理を実行しました。私はHibernateや派手な永続性を使用していません。https://github.com/basejump/grails-executorにあるプラグインのドキュメントに基づいて、セットアップは非常に簡単です。以下を追加するだけで、準備が整いresources.groovy
ます...
//resources.groovy
executorService( PersistenceContextExecutorWrapper ) { bean->
bean.destroyMethod = 'destroy'
persistenceInterceptor = ref("persistenceInterceptor")
executor = Executors.newCachedThreadPool()
}
コードで非同期構造を使用しようとはしていませんが、grailsアプリを起動すると、次のエラーが表示されます...
Cannot resolve reference to bean 'persistenceInterceptor' while setting bean property 'persistenceInterceptor';
nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException:
No bean named 'persistenceInterceptor' is defined
persistenceInterceptor
で名前が付けられたBeanを配線していないので、エラーは理にかなっていますresources.groovy
が、プラグインのドキュメントによると、配線する必要はありません。PersistenceContextInterceptorインターフェースを実装するGroovyクラスを作成し、それを「persistenceInterceptor」Beanとして接続する必要がありますか?ドキュメントのセットアップセクションには、これについての言及はありません。