You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by rd...@apache.org on 2008/12/13 16:38:24 UTC

svn commit: r726221 - /james/server/trunk/avalon-spring-bridge-library/src/main/java/org/apache/james/container/spring/lifecycle/InitializationPropagator.java

Author: rdonkin
Date: Sat Dec 13 07:38:23 2008
New Revision: 726221

URL: http://svn.apache.org/viewvc?rev=726221&view=rev
Log:
Ensure spool is initialised.

Modified:
    james/server/trunk/avalon-spring-bridge-library/src/main/java/org/apache/james/container/spring/lifecycle/InitializationPropagator.java

Modified: james/server/trunk/avalon-spring-bridge-library/src/main/java/org/apache/james/container/spring/lifecycle/InitializationPropagator.java
URL: http://svn.apache.org/viewvc/james/server/trunk/avalon-spring-bridge-library/src/main/java/org/apache/james/container/spring/lifecycle/InitializationPropagator.java?rev=726221&r1=726220&r2=726221&view=diff
==============================================================================
--- james/server/trunk/avalon-spring-bridge-library/src/main/java/org/apache/james/container/spring/lifecycle/InitializationPropagator.java (original)
+++ james/server/trunk/avalon-spring-bridge-library/src/main/java/org/apache/james/container/spring/lifecycle/InitializationPropagator.java Sat Dec 13 07:38:23 2008
@@ -18,6 +18,10 @@
  ****************************************************************/
 package org.apache.james.container.spring.lifecycle;
 
+import java.lang.reflect.Method;
+
+import javax.annotation.PostConstruct;
+
 import org.apache.avalon.framework.activity.Initializable;
 import org.apache.avalon.framework.container.ContainerUtil;
 import org.springframework.beans.factory.config.BeanDefinition;
@@ -36,6 +40,14 @@
     protected void invokeLifecycleWorker(String beanName, Object bean, BeanDefinition beanDefinition) {
         try {
             ContainerUtil.initialize(bean);
+            Method[] methods = bean.getClass().getMethods();
+            for (Method method : methods) {
+                PostConstruct postConstructAnnotation = method.getAnnotation(PostConstruct.class);
+                if (postConstructAnnotation != null) {
+                    Object[] args = {};
+                    method.invoke(bean, args);
+                }
+            }
         } catch (Exception e) {
             throw new RuntimeException("could not initialize component of type " + bean.getClass(), e);
         }



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org