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];