Author: gnodet
Date: Thu Jun 12 04:57:44 2008
New Revision: 667056

URL: http://svn.apache.org/viewvc?rev=667056&view=rev
Log:
SMX4KNL-53: During starting, files are redeployed several times, one each time 
a new Deployer is registered in OSGi

Modified:
    
servicemix/smx4/kernel/trunk/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/FileMonitor.java

Modified: 
servicemix/smx4/kernel/trunk/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/FileMonitor.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/FileMonitor.java?rev=667056&r1=667055&r2=667056&view=diff
==============================================================================
--- 
servicemix/smx4/kernel/trunk/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/FileMonitor.java
 (original)
+++ 
servicemix/smx4/kernel/trunk/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/FileMonitor.java
 Thu Jun 12 04:57:44 2008
@@ -286,7 +286,9 @@
     }
 
     private void reschedule(File file) {
-        pendingArtifacts.add(file.getAbsolutePath());
+        synchronized (pendingArtifacts) {
+            pendingArtifacts.add(file.getAbsolutePath());
+        }
         if (listener == null) {
             try {
                 executor = Executors.newSingleThreadExecutor();
@@ -295,7 +297,12 @@
                     public void serviceChanged(ServiceEvent event) {
                         executor.execute(new Runnable() {
                             public void run() {
-                                onFilesChanged(pendingArtifacts);
+                                Set<String> files;
+                                synchronized (pendingArtifacts) {
+                                    files = new 
HashSet<String>(pendingArtifacts);
+                                    pendingArtifacts.clear();
+                                }
+                                onFilesChanged(files);
                             }
                         });
                     }
@@ -380,7 +387,7 @@
     }
 
     protected Bundle getBundleForJarFile(File file) throws IOException {
-        String absoluteFilePath = file.getAbsolutePath();
+        String absoluteFilePath = file.getAbsoluteFile().toURI().toString();
         Bundle bundles[] = getContext().getBundles();
         for (int i = 0; i < bundles.length; i++) {
             Bundle bundle = bundles[i];


Reply via email to