¿Cómo puedo solucionar el error de ejecución de arranque griales “postProcessBeanDefinitionRegistry ya preveía que este post-procesador”?

StackOverflow https://stackoverflow.com/questions/3834394

Pregunta

Estoy construyendo una Grails (1.3.4) aplicación configurada con los griales Plugin Tomcat-1.3.4 y el uso de la primavera (3.0.3RELEASE), pero la reutilización de un archivo de Primavera applicationContext.xml existente. He copiado las partes relevantes del archivo antiguo en la generada por Grails (justo debajo del frijol characterEncodingFilter). Después de asegurarse de que todos los frascos requeridos estaban en la ruta de clases, y que no había ningún conflicto en los nombres de frijol (descubrí que ya se utilizaba dataSource si existe el archivo DataSource.groovy, por lo que lo he borrado para resolver eso), yo soy frente a una IllegalStateException. El StackTrace y un poco del registro de depuración líder es como sigue:

2010-09-30 15:29:36,131 [main] DEBUG xml.DefaultDocumentLoader  - Using JAXP provider [com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl]
2010-09-30 15:29:36,143 [main] DEBUG support.DefaultListableBeanFactory  - Returning cached instance of singleton bean 'grailsApplication'
2010-09-30 15:29:36,149 [main] ERROR context.GrailsContextLoader  - Error executing bootstraps: postProcessBeanDefinitionRegistry already called for this post-processor
    java.lang.IllegalStateException: postProcessBeanDefinitionRegistry already called for this post-processor
    at org.grails.tomcat.TomcatServer.start(TomcatServer.groovy:164)
    at grails.web.container.EmbeddableServer$start.call(Unknown Source)
    at _GrailsRun_groovy$_run_closure5_closure12.doCall(_GrailsRun_groovy:158)
    at _GrailsRun_groovy$_run_closure5_closure12.doCall(_GrailsRun_groovy)
    at _GrailsSettings_groovy$_run_closure10.doCall(_GrailsSettings_groovy:280)
    at _GrailsSettings_groovy$_run_closure10.call(_GrailsSettings_groovy)
    at _GrailsRun_groovy$_run_closure5.doCall(_GrailsRun_groovy:149)
    at _GrailsRun_groovy$_run_closure5.call(_GrailsRun_groovy)
    at _GrailsRun_groovy.runInline(_GrailsRun_groovy:116)
    at _GrailsRun_groovy.this$4$runInline(_GrailsRun_groovy)
    at _GrailsRun_groovy$_run_closure1.doCall(_GrailsRun_groovy:59)
    at RunApp$_run_closure1.doCall(RunApp.groovy:33)
    at gant.Gant$_dispatch_closure5.doCall(Gant.groovy:381)
    at gant.Gant$_dispatch_closure7.doCall(Gant.groovy:415)
    at gant.Gant$_dispatch_closure7.doCall(Gant.groovy)
    at gant.Gant.withBuildListeners(Gant.groovy:427)
    at gant.Gant.this$2$withBuildListeners(Gant.groovy)
    at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source)
    at gant.Gant.dispatch(Gant.groovy:415)
    at gant.Gant.this$2$dispatch(Gant.groovy)
    at gant.Gant.invokeMethod(Gant.groovy)
    at gant.Gant.executeTargets(Gant.groovy:590)
    at gant.Gant.executeTargets(Gant.groovy:589)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:115)

Actualización: Si comento a cabo las siguientes líneas en la parte superior de mi applicationContext.xml, se entra en un bucle infinito.

<context:annotation-config/>
<context:property-placeholder location="WEB-INF/config.properties"/>

Si yo también comente mis líneas de importación, que se ejecuta como se esperaba. Las líneas de importación son:

<import resource="conf/membershipData.xml"/>
<import resource="conf/membershipServices.xml"/>

/ actualización

Rastreo a través del depurador, me di cuenta de que ocurre durante una actualización de la applicationContext durante el arranque (DefaultRuntimeSpringConfiguration: 154).

En caso de que sea relevante, estoy usando IntelliJ IDEA 9, que se encarga de todas las inserciones jarra antes de la orden de marcha la aplicación.

Gracias por su ayuda.

¿Fue útil?

Solución

No se debe tocar applicationContext.xml - que es para el contexto de aplicación "padre". Copiar los frijoles en resources.xml bajo griales-app / conf / primavera. Este archivo ya no se crea de forma predeterminada desde el enfoque preferido es usar el DSL frijol de primavera en resources.groovy, pero el formato de resources.xml es sólo el xml frijol muelle estándar, lo que probablemente podría simplemente copiar el archivo XML allí y cambiarle el nombre a resources.xml.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top