Hi JB, just some suggestions:
On 09/27/2011 07:49 AM, [email protected] wrote:
==============================================================================
---
karaf/branches/karaf-2.2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/RestartBundle.java
(original)
+++
karaf/branches/karaf-2.2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/RestartBundle.java
Tue Sep 27 11:49:12 2011
@@ -26,10 +26,13 @@ public class RestartBundle extends Bundl
protected void doExecute(List<Bundle> bundles) throws Exception {
for (Bundle bundle : bundles) {
- bundle.stop();
- }
- for (Bundle bundle : bundles) {
- bundle.start();
+ try {
+ bundle.stop();
+ bundle.start();
+ } catch (Exception e) {
+ System.err.println("Bundle " + bundle.getBundleId() + " didn't
restart correctly");
+ e.printStackTrace();
+ }
}
}
For the above, you might wish to, for future troubleshooting, split out
the .stop() and .start() into separate try-catch blocks with different
error messages, so it is easier to know which half failed just by
viewing the exception message.
Modified:
karaf/branches/karaf-2.2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/StartBundle.java
URL:
http://svn.apache.org/viewvc/karaf/branches/karaf-2.2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/StartBundle.java?rev=1176338&r1=1176337&r2=1176338&view=diff
==============================================================================
---
karaf/branches/karaf-2.2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/StartBundle.java
(original)
+++
karaf/branches/karaf-2.2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/StartBundle.java
Tue Sep 27 11:49:12 2011
@@ -26,7 +26,12 @@ public class StartBundle extends Bundles
protected void doExecute(List<Bundle> bundles) throws Exception {
for (Bundle bundle : bundles) {
- bundle.start();
+ try {
+ bundle.start();
+ } catch (Exception e) {
+ System.err.println("Bundle " + bundle.getBundleId() + " didn't
start correctly");
+ e.printStackTrace();
+ }
}
}
If you're comfortable making the statement, I think
System.err.println("Bundle " + bundle.getBundleId() + " failed to
start."); is better, as it gives confidence to the user that there's no
rogue bundles started in an invalid state, that Karaf either tries to
start a bundle or fails cleanly. (And if it *did* start in an invalid
state, that would be a Karaf internal bug to be fixed/patched so that
wouldn't happen.)
Modified:
karaf/branches/karaf-2.2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/StopBundle.java
URL:
http://svn.apache.org/viewvc/karaf/branches/karaf-2.2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/StopBundle.java?rev=1176338&r1=1176337&r2=1176338&view=diff
==============================================================================
---
karaf/branches/karaf-2.2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/StopBundle.java
(original)
+++
karaf/branches/karaf-2.2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/StopBundle.java
Tue Sep 27 11:49:12 2011
@@ -26,7 +26,12 @@ public class StopBundle extends BundlesC
protected void doExecute(List<Bundle> bundles) throws Exception {
for (Bundle bundle : bundles) {
- bundle.stop();
+ try {
+ bundle.stop();
+ } catch (Exception e) {
+ System.err.println("Bundle " + bundle.getBundleId() + " didn't stop
correctly");
+ e.printStackTrace();
+ }
}
}
Unsure, but perhaps System.err.println("Bundle " + bundle.getBundleId() + " didn't
stop correctly; if still active may be in an invalid state."); would be better because it
warns the user not to rely on that supposedly still active bundle--that its state might be damaged.
Modified:
karaf/branches/karaf-2.2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/UninstallBundle.java
URL:
http://svn.apache.org/viewvc/karaf/branches/karaf-2.2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/UninstallBundle.java?rev=1176338&r1=1176337&r2=1176338&view=diff
==============================================================================
---
karaf/branches/karaf-2.2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/UninstallBundle.java
(original)
+++
karaf/branches/karaf-2.2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/UninstallBundle.java
Tue Sep 27 11:49:12 2011
@@ -26,7 +26,12 @@ public class UninstallBundle extends Bun
protected void doExecute(List<Bundle> bundles) throws Exception {
for (Bundle bundle : bundles) {
- bundle.uninstall();
+ try {
+ bundle.uninstall();
+ } catch (Exception e) {
+ System.err.println("Bundle " + bundle.getBundleId() + " didn't
uninstall correctly");
+ e.printStackTrace();
+ }
}
}
Likewise, perhaps System.err.println("Bundle " + bundle.getBundleId() + " failed to
properly uninstall; if still present may be in an invalid state."); gives a clearer warning
to the user not to rely on that bundle.
Regards,
Glen
--
Glen Mazza
Talend - http://www.talend.com/ai
Blog - http://www.jroller.com/gmazza
Twitter - glenmazza