Skip to content

Commit

Permalink
Merge 818c1b9 into d4736fa
Browse files Browse the repository at this point in the history
  • Loading branch information
caojie09 committed Aug 27, 2018
2 parents d4736fa + 818c1b9 commit 5cd8053
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
* @author linfengqi 2011-7-26
*/
public class DynamicSpringContextLoader implements SpringContextLoader {
private final ConfigurableApplicationContext rootApplicationContext;
protected final ConfigurableApplicationContext rootApplicationContext;

public DynamicSpringContextLoader(ApplicationContext applicationContext) {
this.rootApplicationContext = (ConfigurableApplicationContext) applicationContext;
Expand Down Expand Up @@ -98,13 +98,17 @@ public void registerCustomEditors(PropertyEditorRegistry registry) {
beanDefinitionReader
.setBeanClassLoader(deployment.getApplicationContext().getClassLoader());
beanDefinitionReader.setResourceLoader(ctx);
loadBeanDefinitions(deployment, beanDefinitionReader);
addPostProcessors(beanFactory);
}

protected void loadBeanDefinitions(DeploymentDescriptor deployment,
XmlBeanDefinitionReader beanDefinitionReader) {
for (Map.Entry<String, Resource> entry : deployment.getSpringResources().entrySet()) {
String fileName = entry.getKey();
beanDefinitionReader.loadBeanDefinitions(entry.getValue());
deployment.addInstalledSpringXml(fileName);
}
addPostProcessors(beanFactory);
}

private void setUpParentSpringContext(GenericApplicationContext applicationContext,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,10 @@
* @author xuanbei 18/3/1
*/
public abstract class AbstractPipelineStage implements PipelineStage, Ordered {
final ClassLoader appClassLoader = AbstractPipelineStage.class.getClassLoader();
final AbstractApplicationContext applicationContext;
final String appName;
protected final ClassLoader appClassLoader = AbstractPipelineStage.class
.getClassLoader();
protected final AbstractApplicationContext applicationContext;
protected final String appName;

public AbstractPipelineStage(AbstractApplicationContext applicationContext) {
this.applicationContext = applicationContext;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ protected void doProcess() throws Exception {

private void doProcess(ApplicationRuntimeModel application) throws Exception {
outputModulesMessage(application);
SpringContextLoader springContextLoader = new DynamicSpringContextLoader(applicationContext);
SpringContextLoader springContextLoader = createSpringContextLoader();
installSpringContext(application, springContextLoader);

if (applicationContext.getBean(SofaModuleFrameworkConstants.SOFA_MODULE_PROPERTIES_BEAN_ID,
Expand All @@ -77,6 +77,10 @@ private void doProcess(ApplicationRuntimeModel application) throws Exception {
}
}

protected SpringContextLoader createSpringContextLoader() {
return new DynamicSpringContextLoader(applicationContext);
}

private void installSpringContext(ApplicationRuntimeModel application,
SpringContextLoader springContextLoader) {
ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
Expand Down

0 comments on commit 5cd8053

Please sign in to comment.