[maven-release-plugin] copy for tag org.apache.aries.blueprint.spring-0.3.0
git-svn-id: https://svn.apache.org/repos/asf/aries/tags/org.apache.aries.blueprint.spring-0.3.0@1781225 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/aries/blueprint/spring/BlueprintNamespaceHandler.java b/src/main/java/org/apache/aries/blueprint/spring/BlueprintNamespaceHandler.java
index faf38aa..a73f4c9 100644
--- a/src/main/java/org/apache/aries/blueprint/spring/BlueprintNamespaceHandler.java
+++ b/src/main/java/org/apache/aries/blueprint/spring/BlueprintNamespaceHandler.java
@@ -139,7 +139,7 @@
if (applicationContext == null) {
applicationContext = new SpringApplicationContext(container);
registry.registerComponentDefinition(createPassThrough(parserContext,
- SPRING_APPLICATION_CONTEXT_ID, applicationContext
+ SPRING_APPLICATION_CONTEXT_ID, applicationContext, "destroy"
));
}
// Create registry
@@ -186,6 +186,30 @@
return pt;
}
+ private ComponentMetadata createPassThrough(ParserContext parserContext, String id, Object o, String destroy) {
+ MutablePassThroughMetadata pt = parserContext.createMetadata(MutablePassThroughMetadata.class);
+ pt.setId(id + ".factory");
+ pt.setObject(new Holder(o));
+ MutableBeanMetadata b = parserContext.createMetadata(MutableBeanMetadata.class);
+ b.setId(id);
+ b.setFactoryComponent(pt);
+ b.setFactoryMethod("getObject");
+ b.setDestroyMethod(destroy);
+ return b;
+ }
+
+ public static class Holder {
+ private final Object object;
+
+ public Holder(Object object) {
+ this.object = object;
+ }
+
+ public Object getObject() {
+ return object;
+ }
+ }
+
private Metadata createRef(ParserContext parserContext, String id) {
MutableRefMetadata ref = parserContext.createMetadata(MutableRefMetadata.class);
ref.setComponentId(id);
diff --git a/src/main/java/org/apache/aries/blueprint/spring/SpringBeanProcessor.java b/src/main/java/org/apache/aries/blueprint/spring/SpringBeanProcessor.java
index 8bdda99..adf93bf 100644
--- a/src/main/java/org/apache/aries/blueprint/spring/SpringBeanProcessor.java
+++ b/src/main/java/org/apache/aries/blueprint/spring/SpringBeanProcessor.java
@@ -53,7 +53,7 @@
@Override
public void process(ComponentDefinitionRegistry componentDefinitionRegistry) {
- applicationContext.process();
+ applicationContext.refresh();
}
@Override
@@ -83,11 +83,6 @@
@Override
public void beforeDestroy(Object o, String s) {
- for (BeanPostProcessor processor : applicationContext.getBeanFactory().getBeanPostProcessors()) {
- if (processor instanceof DestructionAwareBeanPostProcessor) {
- ((DestructionAwareBeanPostProcessor) processor).postProcessBeforeDestruction(o, s);
- }
- }
}
@Override