java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext

Apache's JIRA Issue Tracker | Charles Moulliard | 8 years ago
  1. 0

    [jira] Resolved: (CAMEL-1427) java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext

    camel-dev | 8 years ago | Charles Moulliard (JIRA)
    java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
  2. Speed up your debug routine!

    Automated exception search integrated into your IDE

  3. 0

    Hi, When I run the following spring DSL in SMX4 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camel="http://camel.apache.org/schema/spring" xmlns:cxf="http://camel.apache.org/schema/cxf" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://camel.apache.org/schema/osgi http://camel.apache.org/schema/osgi/camel-osgi.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd"> <bean id="bindyDataformat" class="org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat"> <constructor-arg type="java.lang.String" value="org.apache.camel.example.reportincident.model" /> </bean> <bean id="csv" class="org.apache.camel.example.reportincident.csv.CsvBean" /> <bean id="OK" class="org.apache.camel.example.reportincident.OutputReportIncident"> <property name="code" value="0"/> </bean> <camelContext trace="true" xmlns="http://camel.apache.org/schema/osgi"> <camel:package>org.apache.camel.example.reportincident.routing</camel:package> <!-- File route --> <camel:route> <camel:from uri="file://d:/temp/data/?moveExpression=d:/temp/done/${file:name}" /> <camel:unmarshal ref="bindyDataformat" /> <camel:to uri="bean:csv" /> </camel:route> <!-- CXF route --> <camel:route> <camel:from uri="cxf://http://localhost:8080/camel-example/incident?serviceClass=org.apache.camel.example.reportincident.service.ReportIncidentEndpoint&amp;wsdlURL=wsdl/report_incident.wsdl" /> <camel:convertBodyTo type="org.apache.camel.example.reportincident.InputReportIncident" /> <camel:to uri="log:cxf" /> <camel:transform> <camel:method bean="OK" method="code"/> </camel:transform> </camel:route> </camelContext> </beans> , I receive the following error : 15:48:59,209 | ERROR | xtenderThread-15 | OsgiBundleXmlApplicationContext | gatedExecutionApplicationContext 366 | Post refresh error java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:153) at org.springframework.context.support.AbstractApplicationContext.containsBean(AbstractApplicationContext.java:892) at org.apache.cxf.configuration.spring.ConfigurerImpl.configureBean(ConfigurerImpl.java:141) at org.apache.cxf.configuration.spring.ConfigurerImpl.configureBean(ConfigurerImpl.java:111) at org.apache.cxf.transport.http.AbstractHTTPTransportFactory.configure(AbstractHTTPTransportFactory.java:229) at org.apache.cxf.transport.http.AbstractHTTPTransportFactory.configure(AbstractHTTPTransportFactory.java:224) at org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.createDestination(JettyHTTPTransportFactory.java:121) at org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.getDestination(JettyHTTPTransportFactory.java:103) at org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90) at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69) at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:121) at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:168) at org.apache.camel.component.cxf.CxfConsumer.<init>(CxfConsumer.java:102) at org.apache.camel.component.cxf.CxfEndpoint.createConsumer(CxfEndpoint.java:95) at org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:62) at org.apache.camel.Route.getServicesForRoute(Route.java:74) at org.apache.camel.impl.RouteService.doStart(RouteService.java:77) at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:50) at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:743) at org.apache.camel.spring.SpringCamelContext.maybeDoStart(SpringCamelContext.java:165) at org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:160) at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:50) at org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:95) at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:114) at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78) at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.finishRefresh(AbstractDelegatedExecutionApplicationContext.java:380) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:346) at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:308) at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:138) at java.lang.Thread.run(Thread.java:595) but the error is not generated when running outside of an OSGI server (SMX4)

    Apache's JIRA Issue Tracker | 8 years ago | Charles Moulliard
    java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
  4. 0

    Hi, When I run the following spring DSL in SMX4 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camel="http://camel.apache.org/schema/spring" xmlns:cxf="http://camel.apache.org/schema/cxf" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://camel.apache.org/schema/osgi http://camel.apache.org/schema/osgi/camel-osgi.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd"> <bean id="bindyDataformat" class="org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat"> <constructor-arg type="java.lang.String" value="org.apache.camel.example.reportincident.model" /> </bean> <bean id="csv" class="org.apache.camel.example.reportincident.csv.CsvBean" /> <bean id="OK" class="org.apache.camel.example.reportincident.OutputReportIncident"> <property name="code" value="0"/> </bean> <camelContext trace="true" xmlns="http://camel.apache.org/schema/osgi"> <camel:package>org.apache.camel.example.reportincident.routing</camel:package> <!-- File route --> <camel:route> <camel:from uri="file://d:/temp/data/?moveExpression=d:/temp/done/${file:name}" /> <camel:unmarshal ref="bindyDataformat" /> <camel:to uri="bean:csv" /> </camel:route> <!-- CXF route --> <camel:route> <camel:from uri="cxf://http://localhost:8080/camel-example/incident?serviceClass=org.apache.camel.example.reportincident.service.ReportIncidentEndpoint&amp;wsdlURL=wsdl/report_incident.wsdl" /> <camel:convertBodyTo type="org.apache.camel.example.reportincident.InputReportIncident" /> <camel:to uri="log:cxf" /> <camel:transform> <camel:method bean="OK" method="code"/> </camel:transform> </camel:route> </camelContext> </beans> , I receive the following error : 15:48:59,209 | ERROR | xtenderThread-15 | OsgiBundleXmlApplicationContext | gatedExecutionApplicationContext 366 | Post refresh error java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:153) at org.springframework.context.support.AbstractApplicationContext.containsBean(AbstractApplicationContext.java:892) at org.apache.cxf.configuration.spring.ConfigurerImpl.configureBean(ConfigurerImpl.java:141) at org.apache.cxf.configuration.spring.ConfigurerImpl.configureBean(ConfigurerImpl.java:111) at org.apache.cxf.transport.http.AbstractHTTPTransportFactory.configure(AbstractHTTPTransportFactory.java:229) at org.apache.cxf.transport.http.AbstractHTTPTransportFactory.configure(AbstractHTTPTransportFactory.java:224) at org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.createDestination(JettyHTTPTransportFactory.java:121) at org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.getDestination(JettyHTTPTransportFactory.java:103) at org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90) at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69) at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:121) at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:168) at org.apache.camel.component.cxf.CxfConsumer.<init>(CxfConsumer.java:102) at org.apache.camel.component.cxf.CxfEndpoint.createConsumer(CxfEndpoint.java:95) at org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:62) at org.apache.camel.Route.getServicesForRoute(Route.java:74) at org.apache.camel.impl.RouteService.doStart(RouteService.java:77) at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:50) at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:743) at org.apache.camel.spring.SpringCamelContext.maybeDoStart(SpringCamelContext.java:165) at org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:160) at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:50) at org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:95) at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:114) at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78) at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.finishRefresh(AbstractDelegatedExecutionApplicationContext.java:380) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:346) at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:308) at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:138) at java.lang.Thread.run(Thread.java:595) but the error is not generated when running outside of an OSGI server (SMX4)

    Apache's JIRA Issue Tracker | 8 years ago | Charles Moulliard
    java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext

    2 unregistered visitors
    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.lang.IllegalStateException

      BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext

      at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory()
    2. Spring Context
      AbstractApplicationContext.containsBean
      1. org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:153)
      2. org.springframework.context.support.AbstractApplicationContext.containsBean(AbstractApplicationContext.java:892)
      2 frames
    3. Apache CXF Core
      ConfigurerImpl.configureBean
      1. org.apache.cxf.configuration.spring.ConfigurerImpl.configureBean(ConfigurerImpl.java:141)
      2. org.apache.cxf.configuration.spring.ConfigurerImpl.configureBean(ConfigurerImpl.java:111)
      2 frames
    4. Apache CXF Runtime HTTP Transport
      AbstractHTTPTransportFactory.configure
      1. org.apache.cxf.transport.http.AbstractHTTPTransportFactory.configure(AbstractHTTPTransportFactory.java:229)
      2. org.apache.cxf.transport.http.AbstractHTTPTransportFactory.configure(AbstractHTTPTransportFactory.java:224)
      2 frames
    5. Apache CXF Runtime HTTP Jetty Transport
      JettyHTTPTransportFactory.getDestination
      1. org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.createDestination(JettyHTTPTransportFactory.java:121)
      2. org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.getDestination(JettyHTTPTransportFactory.java:103)
      2 frames
    6. Apache CXF Core
      ServerImpl.<init>
      1. org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)
      2. org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
      2 frames
    7. Apache CXF Runtime Simple Frontend
      ServerFactoryBean.create
      1. org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:121)
      1 frame
    8. Apache CXF Runtime JAX-WS Frontend
      JaxWsServerFactoryBean.create
      1. org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:168)
      1 frame
    9. Camel :: CXF
      CxfEndpoint.createConsumer
      1. org.apache.camel.component.cxf.CxfConsumer.<init>(CxfConsumer.java:102)
      2. org.apache.camel.component.cxf.CxfEndpoint.createConsumer(CxfEndpoint.java:95)
      2 frames
    10. Camel :: Core
      DefaultCamelContext.doStart
      1. org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:62)
      2. org.apache.camel.Route.getServicesForRoute(Route.java:74)
      3. org.apache.camel.impl.RouteService.doStart(RouteService.java:77)
      4. org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:50)
      5. org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:743)
      5 frames
    11. Camel :: Spring
      SpringCamelContext.doStart
      1. org.apache.camel.spring.SpringCamelContext.maybeDoStart(SpringCamelContext.java:165)
      2. org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:160)
      2 frames
    12. Camel :: Core
      ServiceSupport.start
      1. org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:50)
      1 frame
    13. Camel :: Spring
      SpringCamelContext.onApplicationEvent
      1. org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:95)
      2. org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:114)
      2 frames
    14. Spring Context
      SimpleApplicationEventMulticaster$1.run
      1. org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
      1 frame
    15. Spring Core
      SyncTaskExecutor.execute
      1. org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
      1 frame
    16. Spring Context
      AbstractApplicationContext.finishRefresh
      1. org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
      2. org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
      3. org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
      3 frames
    17. Spring OSGi Core
      AbstractDelegatedExecutionApplicationContext.completeRefresh
      1. org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.finishRefresh(AbstractDelegatedExecutionApplicationContext.java:380)
      2. org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:346)
      3. org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
      4. org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:308)
      4 frames
    18. org.springframework.osgi
      DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run
      1. org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:138)
      1 frame
    19. Java RT
      Thread.run
      1. java.lang.Thread.run(Thread.java:595)
      1 frame