You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by js...@apache.org on 2006/10/03 14:09:14 UTC
svn commit: r452447 -
/incubator/servicemix/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/DefaultComponent.java
Author: jstrachan
Date: Tue Oct 3 05:09:13 2006
New Revision: 452447
URL: http://svn.apache.org/viewvc?view=rev&rev=452447
Log:
lazily create a serviceUnit on demand to make it easier for derived components to add dynamic endpoints
Modified:
incubator/servicemix/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/DefaultComponent.java
Modified: incubator/servicemix/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/DefaultComponent.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/DefaultComponent.java?view=diff&rev=452447&r1=452446&r2=452447
==============================================================================
--- incubator/servicemix/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/DefaultComponent.java (original)
+++ incubator/servicemix/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/DefaultComponent.java Tue Oct 3 05:09:13 2006
@@ -221,11 +221,15 @@
}
/**
- * Returns the service unit if applicable
+ * Returns the service unit, lazily creating one on demand
*
* @return the service unit if one is being used.
*/
public ServiceUnit getServiceUnit() {
+ if (serviceUnit == null) {
+ serviceUnit = new XBeanServiceUnit();
+ serviceUnit.setComponent(this);
+ }
return serviceUnit;
}
@@ -244,14 +248,13 @@
super.doInit();
Endpoint[] endpoints = getEndpoints();
if (endpoints != null && endpoints.length > 0) {
- serviceUnit = new XBeanServiceUnit();
- serviceUnit.setComponent(this);
+ ServiceUnit su = getServiceUnit();
for (int i = 0; i < endpoints.length; i++) {
- endpoints[i].setServiceUnit(serviceUnit);
+ endpoints[i].setServiceUnit(su);
endpoints[i].validate();
- serviceUnit.addEndpoint(endpoints[i]);
+ su.addEndpoint(endpoints[i]);
}
- getRegistry().registerServiceUnit(serviceUnit);
+ getRegistry().registerServiceUnit(su);
}
}