From 7bd86b5ad79d6a9d7b15b5700310635ce3e7f913 Mon Sep 17 00:00:00 2001 From: Mehdi Mirzaie Date: Tue, 9 Jan 2018 17:41:28 +1300 Subject: [PATCH] Reloading the clojure namespace --- src/main/java/clojure/osgi/internal/ClojureOSGi.java | 2 +- src/main/java/clojure/osgi/internal/ExtenderTracker.java | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/main/java/clojure/osgi/internal/ClojureOSGi.java b/src/main/java/clojure/osgi/internal/ClojureOSGi.java index f58f69f..b0cc5f0 100644 --- a/src/main/java/clojure/osgi/internal/ClojureOSGi.java +++ b/src/main/java/clojure/osgi/internal/ClojureOSGi.java @@ -47,7 +47,7 @@ public static void require(Bundle aBundle, final String aName) { try { withBundle(aBundle, new RunnableWithException() { public Object run() throws Exception { - REQUIRE.invoke(Symbol.intern(aName)); + REQUIRE.invoke(Symbol.intern(aName), Keyword.intern("reload")); return null; } }); diff --git a/src/main/java/clojure/osgi/internal/ExtenderTracker.java b/src/main/java/clojure/osgi/internal/ExtenderTracker.java index 037c15f..456c976 100644 --- a/src/main/java/clojure/osgi/internal/ExtenderTracker.java +++ b/src/main/java/clojure/osgi/internal/ExtenderTracker.java @@ -17,7 +17,6 @@ import clojure.osgi.RunnableWithException; public class ExtenderTracker extends BundleTracker { - private Set requireProcessed = new HashSet(); private Set active = new HashSet(); private ServiceTracker logTracker; private LogService log = new StreamLog(System.out); @@ -49,14 +48,12 @@ public void removedService(ServiceReference reference, } public Object addingBundle(Bundle bundle, BundleEvent event) { - if (!requireProcessed.contains(bundle.getBundleId())) { + if (bundle != null && event != null && event.getType() == BundleEvent.STARTING) { processRequire(bundle); - requireProcessed.add(bundle.getBundleId()); } if ((bundle.getState() == Bundle.STARTING || bundle.getState() == Bundle.ACTIVE) && !active.contains(bundle.getBundleId())) { - try { invokeActivatorCallback(CallbackType.START, bundle); } finally {