]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.osgi/src/main/java/org/argeo/slc/osgi/MultipleServiceExporterPostProcessor.java
Reduce debug verbosity
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.osgi / src / main / java / org / argeo / slc / osgi / MultipleServiceExporterPostProcessor.java
index b9e39f86cc6d87ce95b72a5206d1193d41e9f47f..087a90facedebe67670fd9b1c550d82942ce0d97 100644 (file)
@@ -6,6 +6,8 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.argeo.slc.SlcException;
 import org.springframework.beans.BeansException;
 import org.springframework.beans.MutablePropertyValues;
@@ -13,11 +15,16 @@ import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
 import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
 import org.springframework.beans.factory.support.BeanDefinitionRegistry;
 import org.springframework.beans.factory.support.RootBeanDefinition;
+import org.springframework.core.Ordered;
+import org.springframework.core.PriorityOrdered;
 import org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean;
 
 @SuppressWarnings(value = { "unchecked" })
 public class MultipleServiceExporterPostProcessor implements
-               BeanFactoryPostProcessor {
+               BeanFactoryPostProcessor, PriorityOrdered {
+       private final static Log log = LogFactory
+                       .getLog(MultipleServiceExporterPostProcessor.class);
+
        private List<Class> interfaces = new ArrayList<Class>();
 
        private Class osgiServiceFactoryClass = OsgiServiceFactoryBean.class;
@@ -43,8 +50,13 @@ public class MultipleServiceExporterPostProcessor implements
                        mpv.addPropertyValue("targetBeanName", beanName);
                        RootBeanDefinition bd = new RootBeanDefinition(
                                        osgiServiceFactoryClass, mpv);
+
+                       String exporterBeanName = "osgiService." + beanName;
+                       if (log.isTraceEnabled())
+                               log.debug("Registering OSGi service exporter "
+                                               + exporterBeanName);
                        ((BeanDefinitionRegistry) beanFactory).registerBeanDefinition(
-                                       "osgiService." + beanName, bd);
+                                       exporterBeanName, bd);
                }
        }
 
@@ -56,4 +68,8 @@ public class MultipleServiceExporterPostProcessor implements
                this.osgiServiceFactoryClass = osgiServiceFactoryClass;
        }
 
+       public int getOrder() {
+               return Ordered.LOWEST_PRECEDENCE;
+       }
+
 }