2017-12-07 23 views
0

重複としてマークしない 新しいGrailsアプリケーションを作成しました。私は新しいドメインクラスと、対応するgspビューを持つコントローラを作成しました。 jdbc接続の詳細をapplication.ymlに追加しました。私がそれを実行すると、以下の問題が発生します。Grails:3.3.2:ApplicationEventMulticasterは初期化されていません - コンテキストを介してイベントをマルチキャストする前に 'refresh'を呼び出してください

objc[27382]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin/java (0x107fcf4c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x1080bb4e0). One of the two will be used. Which one is undefined. 
2017-12-07 15:14:06.838 ERROR --- [   main] o.s.b.f.s.DefaultListableBeanFactory  : Destroy method on bean with name 'org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor' threw an exception 

java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.boot[email protected]4ebea12c: startup date [Thu Dec 07 15:14:02 PST 2017]; root of context hierarchy 
     at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:414) 
     at org.springframework.context.support.ApplicationListenerDetector.postProcessBeforeDestruction(ApplicationListenerDetector.java:97) 
     at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:253) 
     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578) 
     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:961) 
     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:968) 
     at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1030) 
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:556) 
     at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) 
     at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) 
     at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) 
     at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) 
     at grails.boot.GrailsApp.run(GrailsApp.groovy:83) 
     at grails.boot.GrailsApp.run(GrailsApp.groovy:387) 
     at grails.boot.GrailsApp.run(GrailsApp.groovy:374) 
     at grails.boot.GrailsApp$run.call(Unknown Source) 
     at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) 
     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) 
     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133) 
     at ice_grailsapp.Application.main(Application.groovy:8) 

2017-12-07 15:14:06.843 ERROR --- [   main] o.s.b.f.s.DefaultListableBeanFactory  : Destroy method on bean with name 'grailsApplicationPostProcessor' threw an exception 

java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.boot[email protected]4ebea12c: startup date [Thu Dec 07 15:14:02 PST 2017]; root of context hierarchy 
     at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:414) 
     at org.springframework.context.support.ApplicationListenerDetector.postProcessBeforeDestruction(ApplicationListenerDetector.java:97) 
     at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:253) 
     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578) 
     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:961) 
     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:968) 
     at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1030) 
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:556) 
     at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) 
     at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) 
     at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) 
     at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) 
     at grails.boot.GrailsApp.run(GrailsApp.groovy:83) 
     at grails.boot.GrailsApp.run(GrailsApp.groovy:387) 
     at grails.boot.GrailsApp.run(GrailsApp.groovy:374) 
     at grails.boot.GrailsApp$run.call(Unknown Source) 
     at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) 
     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) 
     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133) 
     at ice_grailsapp.Application.main(Application.groovy:8) 

私のbuild.gradleにはすべてデフォルトの依存関係があります。

コンパイルグループ: 'mysqlの' 名前 'のmysql-コネクタ-Javaのバージョン: '5.1.13' コンパイルグループ: 'CGLIB'、名前:「CGLIB私は、以下の依存関係を追加しました」、バージョン: '3.2.4' コンパイルグループ: 'org.springframework'、名前: '春-JDBC'、バージョン: '4.3.8.RELEASE'

マイドメインクラスが顧客という名前です。グルービー

class CUSTOMER { 

    String pk 
    String SPN 
    String CustomerPk 

    static constraints = { 
    } 
} 

私のデータベースはMySQLです。私はちょうどいいですCUSTOMERという表からの読み取りを試みています。私は、ドメインクラスのテーブルの各フィールドをマップする必要がありますか?親切なアドバイス

+0

「https://jira.spring.io/browse/SPR-16149」 – 49er

+0

類似の問題はこちらからご覧になれます。それは、ConfigurationPropertiesBindingPostProcessorが例外を投げたが、あなたはそれが –

+0

@ JamesKleehと記載されていないと言います。 :説明を更新しました – 49er

答えて

0

私はgrailsに新しいので、私はこのエラーを理解するのが難しいと思っていた。私は後でその問題がGORMクラスであることに気付きました。私は既存のSQLデータベースに接続し、それらのテーブルからデータを取得しようとしていました。デフォルトでGrailsはverison(フィールド)をマッピングしようとしていますGrailsがテーブルに接続しようとしていたときに、テーブルに存在しなかったverionもマッピングしようとしました。テーブルのid(プライマリキー)を指定し、verionをfalseと指定することによっても可能です。私がこの問題を解決するのを助けました。次のように変更されます:

class CUSTOMER { 

    String pk 
    String spn 
    String customerpk 

    static mapping = { 
     id name: 'customerpk' 
     version false 
     id generator: 'assigned' 
    } 

} 

また、GORMクラスのテーブルの主キーがidであることを確認してください。 注:時々スローされるエラーメッセージには最終的に詳細がいくつかあり、最初の行を見ることは必ずしも意味をなさないことがあります。

関連する問題