You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2011/12/20 10:31:11 UTC
svn commit: r1221163 - in /sling/trunk/bundles/extensions/threaddump: pom.xml
src/main/java/org/apache/sling/extensions/threaddump/internal/Activator.java
Author: cziegeler
Date: Tue Dec 20 09:31:11 2011
New Revision: 1221163
URL: http://svn.apache.org/viewvc?rev=1221163&view=rev
Log:
SLING-2334 : Register shell command through service factory
Modified:
sling/trunk/bundles/extensions/threaddump/pom.xml
sling/trunk/bundles/extensions/threaddump/src/main/java/org/apache/sling/extensions/threaddump/internal/Activator.java
Modified: sling/trunk/bundles/extensions/threaddump/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/threaddump/pom.xml?rev=1221163&r1=1221162&r2=1221163&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/threaddump/pom.xml (original)
+++ sling/trunk/bundles/extensions/threaddump/pom.xml Tue Dec 20 09:31:11 2011
@@ -57,10 +57,9 @@
<extensions>true</extensions>
<configuration>
<instructions>
- <Import-Package>
- org.apache.felix.shell;resolution:=optional,
- *
- </Import-Package>
+ <DynamicImport-Package>
+ org.apache.felix.shell;version="[1.0,2)"
+ </DynamicImport-Package>
<Private-Package>
org.apache.sling.extensions.threaddump.*
</Private-Package>
Modified: sling/trunk/bundles/extensions/threaddump/src/main/java/org/apache/sling/extensions/threaddump/internal/Activator.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/threaddump/src/main/java/org/apache/sling/extensions/threaddump/internal/Activator.java?rev=1221163&r1=1221162&r2=1221163&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/threaddump/src/main/java/org/apache/sling/extensions/threaddump/internal/Activator.java (original)
+++ sling/trunk/bundles/extensions/threaddump/src/main/java/org/apache/sling/extensions/threaddump/internal/Activator.java Tue Dec 20 09:31:11 2011
@@ -22,9 +22,12 @@ import java.lang.Thread.UncaughtExceptio
import java.util.Dictionary;
import java.util.Hashtable;
+import org.osgi.framework.Bundle;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceFactory;
+import org.osgi.framework.ServiceRegistration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -42,13 +45,21 @@ public class Activator implements Bundle
Thread.setDefaultUncaughtExceptionHandler(this);
// install thread handler shell command
- try {
- register(bundleContext,
- new String[] { "org.apache.felix.shell.Command" },
- new ThreadDumpCommand(), null);
- } catch (Throwable t) {
- // shell service might not be available, don't care
- }
+ register(bundleContext,
+ new String[] { "org.apache.felix.shell.Command" },
+ new ServiceFactory() {
+
+ public void ungetService(final Bundle bundle,
+ final ServiceRegistration reg,
+ final Object consoleObject) {
+ // nothing to do
+ }
+
+ public Object getService(final Bundle bundle,
+ final ServiceRegistration reg) {
+ return new ThreadDumpCommand();
+ }
+ }, null);
// install Web Console configuration printer
final Dictionary<String, Object> props = new Hashtable<String, Object>();
@@ -59,7 +70,7 @@ public class Activator implements Bundle
final ThreadDumperPanel tdp = new ThreadDumperPanel();
register(bundleContext, new String[] {
- "org.apache.felix.webconsole.ConfigurationPrinter" }, tdp, props);
+ tdp.getClass().getName() }, tdp, props);
}
public void stop(BundleContext bundleContext) {