Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring应用程序运行时上下文刷新_Java_Spring_Jboss_Applicationcontext - Fatal编程技术网

Java Spring应用程序运行时上下文刷新

Java Spring应用程序运行时上下文刷新,java,spring,jboss,applicationcontext,Java,Spring,Jboss,Applicationcontext,我们的申请有问题。我们必须在运行时刷新应用程序上下文,因为config.properties中的某些属性会在文件更改时重新加载。这些属性必须被注入到bean中。当文件更改时,我们刷新应用程序上下文。但应用程序部署在JBoss下,如果在应用程序上下文刷新时出现请求,则此请求会生成以下错误: java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before ac

我们的申请有问题。我们必须在运行时刷新应用程序上下文,因为config.properties中的某些属性会在文件更改时重新加载。这些属性必须被注入到bean中。当文件更改时,我们刷新应用程序上下文。但应用程序部署在JBoss下,如果在应用程序上下文刷新时出现请求,则此请求会生成以下错误:

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:170)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1076)
因此,我们需要知道是否有更安全的方法可以将属性重新加载到应用程序上下文中,而不会导致请求丢失。
我们还需要知道重启JBoss是否比重新加载应用程序上下文更好。我们将感谢您的帮助。非常感谢。

您是否在web.xml中配置了侦听器问题在于并发性。在运行refreshBeanFactory()时不允许使用getBeanFactory()方法。您必须同步AbstractRefreshableApplicationContext的实现。是否可以添加实现的源代码。如果我们有多个上下文,则需要web.xml中的侦听器,对吗?那么为什么在这种情况下它有用呢?我们使用ClassPathXmlApplicationContext和方法refresh()。我无法添加源代码。