You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2018/06/18 09:33:58 UTC
svn commit: r1833692 -
/aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/component/dsl/internal/EffectsOSGi.java
Author: csierra
Date: Mon Jun 18 09:33:58 2018
New Revision: 1833692
URL: http://svn.apache.org/viewvc?rev=1833692&view=rev
Log:
[ARIES-1811] Always execute onRemoving action
Modified:
aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/component/dsl/internal/EffectsOSGi.java
Modified: aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/component/dsl/internal/EffectsOSGi.java
URL: http://svn.apache.org/viewvc/aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/component/dsl/internal/EffectsOSGi.java?rev=1833692&r1=1833691&r2=1833692&view=diff
==============================================================================
--- aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/component/dsl/internal/EffectsOSGi.java (original)
+++ aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/component/dsl/internal/EffectsOSGi.java Mon Jun 18 09:33:58 2018
@@ -26,14 +26,30 @@ public class EffectsOSGi extends OSGiImp
super((bundleContext, op) -> {
onAdding.run();
- Runnable terminator = op.publish(null);
+ try {
+ Runnable terminator = op.publish(null);
- return new OSGiResultImpl(
- () -> {
- terminator.run();
+ return new OSGiResultImpl(
+ () -> {
+ try {
+ terminator.run();
+ }
+ finally {
+ try {
+ onRemoving.run();
+ }
+ catch (Exception e) {
+ //TODO: logging
+ }
+ }
- onRemoving.run();
- });
+ });
+ }
+ catch (Exception e) {
+ onRemoving.run();
+
+ throw e;
+ }
});
}
}