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

If you like a tip written by other Samebug users, mark is as helpful! Marks help our algorithm provide you better solutions and also help other users.
tip

The application is unable to connect to the database.
It could be resolved by configuring access privileges on the database side.

You have a different solution? A short tip here would help you and many other users who saw this issue last week.

  • I saw this error in the QAP pentaho.log 2012-12-26 15:17:14,144 ERROR [com.pentaho.analyzer.report.renderer.JsonChartRenderer] BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext 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.springframework.beans.factory.support.AbstractBeanFactory.containsBean(AbstractBeanFactory.java:334) at org.pentaho.platform.plugin.services.pluginmgr.DefaultPluginManager.getBean(DefaultPluginManager.java:596) at org.pentaho.platform.plugin.services.pluginmgr.DefaultPluginManager.getContentGenerator(DefaultPluginManager.java:636) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.pentaho.platform.web.http.context.WebSpringPentahoObjectFactory$ProxyInvokeHandler.invoke(WebSpringPentahoObjectFactory.java:261) at $Proxy14.getContentGenerator(Unknown Source) at com.pentaho.analyzer.report.renderer.JsonChartRenderer.renderToFile(JsonChartRenderer.java:126) at com.pentaho.analyzer.report.renderer.PdfRenderer.printDocument(PdfRenderer.java:269) at com.pentaho.analyzer.report.renderer.PdfRenderer.render(PdfRenderer.java:171) at com.pentaho.analyzer.content.controller.ReportRunner.generatePDF(ReportRunner.java:202) at com.pentaho.analyzer.content.controller.AnalyzerAction.execute(AnalyzerAction.java:94) at org.pentaho.platform.scheduler2.quartz.ActionAdapterQuartzJob$1.call(ActionAdapterQuartzJob.java:147) at org.pentaho.platform.engine.security.SecurityHelper.runAsUser(SecurityHelper.java:150) at org.pentaho.platform.engine.security.SecurityHelper.runAsUser(SecurityHelper.java:141) at org.pentaho.platform.scheduler2.quartz.ActionAdapterQuartzJob.invokeAction(ActionAdapterQuartzJob.java:157) at org.pentaho.platform.scheduler2.quartz.ActionAdapterQuartzJob.execute(ActionAdapterQuartzJob.java:101) at org.quartz.core.JobRunShell.run(JobRunShell.java:199) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
    via by Brandon Bruce,
  • I saw this error in the QAP pentaho.log 2012-12-26 15:17:14,144 ERROR [com.pentaho.analyzer.report.renderer.JsonChartRenderer] BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext 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.springframework.beans.factory.support.AbstractBeanFactory.containsBean(AbstractBeanFactory.java:334) at org.pentaho.platform.plugin.services.pluginmgr.DefaultPluginManager.getBean(DefaultPluginManager.java:596) at org.pentaho.platform.plugin.services.pluginmgr.DefaultPluginManager.getContentGenerator(DefaultPluginManager.java:636) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.pentaho.platform.web.http.context.WebSpringPentahoObjectFactory$ProxyInvokeHandler.invoke(WebSpringPentahoObjectFactory.java:261) at $Proxy14.getContentGenerator(Unknown Source) at com.pentaho.analyzer.report.renderer.JsonChartRenderer.renderToFile(JsonChartRenderer.java:126) at com.pentaho.analyzer.report.renderer.PdfRenderer.printDocument(PdfRenderer.java:269) at com.pentaho.analyzer.report.renderer.PdfRenderer.render(PdfRenderer.java:171) at com.pentaho.analyzer.content.controller.ReportRunner.generatePDF(ReportRunner.java:202) at com.pentaho.analyzer.content.controller.AnalyzerAction.execute(AnalyzerAction.java:94) at org.pentaho.platform.scheduler2.quartz.ActionAdapterQuartzJob$1.call(ActionAdapterQuartzJob.java:147) at org.pentaho.platform.engine.security.SecurityHelper.runAsUser(SecurityHelper.java:150) at org.pentaho.platform.engine.security.SecurityHelper.runAsUser(SecurityHelper.java:141) at org.pentaho.platform.scheduler2.quartz.ActionAdapterQuartzJob.invokeAction(ActionAdapterQuartzJob.java:157) at org.pentaho.platform.scheduler2.quartz.ActionAdapterQuartzJob.execute(ActionAdapterQuartzJob.java:101) at org.quartz.core.JobRunShell.run(JobRunShell.java:199) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
    via by Brandon Bruce,
  • 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)
    via by Charles Moulliard,
  • 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)
    via by Charles Moulliard,
  • How to configure Expires Filter in Tomcat 7
    via Stack Overflow by Manisha
    ,
    • 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.springframework.beans.factory.support.AbstractBeanFactory.containsBean(AbstractBeanFactory.java:334) at org.pentaho.platform.plugin.services.pluginmgr.DefaultPluginManager.getBean(DefaultPluginManager.java:596) at org.pentaho.platform.plugin.services.pluginmgr.DefaultPluginManager.getContentGenerator(DefaultPluginManager.java:636) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.pentaho.platform.web.http.context.WebSpringPentahoObjectFactory$ProxyInvokeHandler.invoke(WebSpringPentahoObjectFactory.java:261) at $Proxy14.getContentGenerator(Unknown Source) at com.pentaho.analyzer.report.renderer.JsonChartRenderer.renderToFile(JsonChartRenderer.java:126) at com.pentaho.analyzer.report.renderer.PdfRenderer.printDocument(PdfRenderer.java:269) at com.pentaho.analyzer.report.renderer.PdfRenderer.render(PdfRenderer.java:171) at com.pentaho.analyzer.content.controller.ReportRunner.generatePDF(ReportRunner.java:202) at com.pentaho.analyzer.content.controller.AnalyzerAction.execute(AnalyzerAction.java:94) at org.pentaho.platform.scheduler2.quartz.ActionAdapterQuartzJob$1.call(ActionAdapterQuartzJob.java:147) at org.pentaho.platform.engine.security.SecurityHelper.runAsUser(SecurityHelper.java:150) at org.pentaho.platform.engine.security.SecurityHelper.runAsUser(SecurityHelper.java:141) at org.pentaho.platform.scheduler2.quartz.ActionAdapterQuartzJob.invokeAction(ActionAdapterQuartzJob.java:157) at org.pentaho.platform.scheduler2.quartz.ActionAdapterQuartzJob.execute(ActionAdapterQuartzJob.java:101) at org.quartz.core.JobRunShell.run(JobRunShell.java:199) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)

    Users with the same issue

    ivanszkypeter
    ivanszkypeter1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    62 more bugmates