You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2009/02/12 22:30:35 UTC
svn commit: r743890 -
/servicemix/smx4/nmr/trunk/jbi/deployer/src/main/java/org/apache/servicemix/jbi/deployer/impl/ComponentImpl.java
Author: gnodet
Date: Thu Feb 12 21:30:35 2009
New Revision: 743890
URL: http://svn.apache.org/viewvc?rev=743890&view=rev
Log:
SMX4NMR-82: Once a component has been shut down, restarting it should call Lifecycle#init()
Modified:
servicemix/smx4/nmr/trunk/jbi/deployer/src/main/java/org/apache/servicemix/jbi/deployer/impl/ComponentImpl.java
Modified: servicemix/smx4/nmr/trunk/jbi/deployer/src/main/java/org/apache/servicemix/jbi/deployer/impl/ComponentImpl.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/nmr/trunk/jbi/deployer/src/main/java/org/apache/servicemix/jbi/deployer/impl/ComponentImpl.java?rev=743890&r1=743889&r2=743890&view=diff
==============================================================================
--- servicemix/smx4/nmr/trunk/jbi/deployer/src/main/java/org/apache/servicemix/jbi/deployer/impl/ComponentImpl.java (original)
+++ servicemix/smx4/nmr/trunk/jbi/deployer/src/main/java/org/apache/servicemix/jbi/deployer/impl/ComponentImpl.java Thu Feb 12 21:30:35 2009
@@ -114,10 +114,15 @@
public void start(boolean saveState) throws JBIException {
LOGGER.info("Starting component " + getName());
- component.getLifeCycle().start();
- state = State.Started;
- if (saveState) {
- saveState();
+ if (state != State.Started) {
+ if (state == State.Shutdown) {
+ component.getLifeCycle().init(null);
+ }
+ component.getLifeCycle().start();
+ state = State.Started;
+ if (saveState) {
+ saveState();
+ }
}
}
@@ -215,6 +220,7 @@
protected class ComponentWrapper implements javax.jbi.component.Component, ComponentLifeCycle {
private javax.jbi.component.Component component;
private ComponentLifeCycle lifeCycle;
+ private ComponentContext context;
public ComponentWrapper(javax.jbi.component.Component component) {
this.component = component;
@@ -252,6 +258,12 @@
}
public void init(ComponentContext context) throws JBIException {
+ if (this.context == null) {
+ this.context = context;
+ }
+ if (context == null) {
+ context = this.context;
+ }
ClassLoader cl = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(component.getClass().getClassLoader());