[SMX4-860] Add a configurable timeout

git-svn-id: https://svn.apache.org/repos/asf/servicemix/smx4/specs/trunk@1134284 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/locator/src/main/java/org/apache/servicemix/specs/locator/OsgiLocator.java b/locator/src/main/java/org/apache/servicemix/specs/locator/OsgiLocator.java
index a8ae54e..24e341c 100644
--- a/locator/src/main/java/org/apache/servicemix/specs/locator/OsgiLocator.java
+++ b/locator/src/main/java/org/apache/servicemix/specs/locator/OsgiLocator.java
@@ -26,6 +26,16 @@
 
 public class OsgiLocator {
 
+    private static long timeout = 5000l;
+    static {
+        try {
+            String prop = System.getProperty("org.apache.servicemix.specs.timeout");
+            if (prop != null) {
+                timeout = Long.parseLong(prop);
+            }
+        } catch (Throwable t) { }
+    }
+
     private static Map<String, List<Callable<Class>>> factories;
     
     private static ReadWriteLock lock = new ReentrantReadWriteLock();
@@ -73,7 +83,6 @@
     }
 
     public static <T> Class<? extends T> locate(Class<T> factoryClass, String factoryId) {
-        long timeout = 5000;
         long t0 = -1;
         long t1 = t0;
         while (t1 - t0 < timeout) {