You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2010/09/21 08:21:54 UTC

svn commit: r999235 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/impl/ camel-core/src/main/java/org/apache/camel/spi/ camel-core/src/test/java/org/apache/camel/impl/ components/camel-jms/src/main/java/org/apache/camel/component/jms/ com...

Author: davsclaus
Date: Tue Sep 21 06:21:53 2010
New Revision: 999235

URL: http://svn.apache.org/viewvc?rev=999235&view=rev
Log:
CAMEL-3138: Renamed DefaultUuidGenerator to JavaUuidGenerator.

Added:
    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/JavaUuidGenerator.java   (contents, props changed)
      - copied, changed from r998954, camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultUuidGenerator.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/impl/JavaUuidGeneratorTest.java   (contents, props changed)
      - copied, changed from r998954, camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultUuidGeneratorTest.java
Removed:
    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultUuidGenerator.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultUuidGeneratorTest.java
Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ActiveMQUuidGenerator.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/SimpleUuidGenerator.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/spi/UuidGenerator.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java
    camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ActiveMQUuidGenerator.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ActiveMQUuidGenerator.java?rev=999235&r1=999234&r2=999235&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ActiveMQUuidGenerator.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ActiveMQUuidGenerator.java Tue Sep 21 06:21:53 2010
@@ -18,11 +18,19 @@ package org.apache.camel.impl;
 
 import java.net.InetAddress;
 import java.net.ServerSocket;
+import java.util.concurrent.atomic.AtomicLong;
 
 import org.apache.camel.spi.UuidGenerator;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+/**
+ * {@link org.apache.camel.spi.UuidGenerator} which is a fast implementation based on
+ * how <a href="http://activemq.apache.org/>Apache ActiveMQ</a> generates its UUID.
+ * <p/>
+ * This implementation is not synchronized but it leverages API which may not be accessible
+ * in the cloud (such as Google App Engine).
+ */
 public class ActiveMQUuidGenerator implements UuidGenerator {
 
     private static final transient Log LOG = LogFactory.getLog(ActiveMQUuidGenerator.class); 
@@ -30,7 +38,7 @@ public class ActiveMQUuidGenerator imple
     private static int instanceCount;
     private static String hostName;
     private String seed;
-    private long sequence;
+    private final AtomicLong sequence = new AtomicLong(1);
 
     static {
         String stub = "";
@@ -52,7 +60,7 @@ public class ActiveMQUuidGenerator imple
                 Thread.sleep(100);
                 ss.close();
             } catch (Exception ioe) {
-                LOG.warn("Could not generate unique stub", ioe);
+                LOG.warn("Cannot generate unique stub", ioe);
             }
         } else {
             hostName = "localhost";
@@ -82,7 +90,7 @@ public class ActiveMQUuidGenerator imple
     }
 
     public String generateUuid() {
-        return this.seed + (this.sequence++);
+        return this.seed + sequence.getAndIncrement();
     }
 
     /**

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java?rev=999235&r1=999234&r2=999235&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java Tue Sep 21 06:21:53 2010
@@ -180,7 +180,7 @@ public class DefaultCamelContext extends
     private ShutdownRunningTask shutdownRunningTask = ShutdownRunningTask.CompleteCurrentTaskOnly;
     private ExecutorServiceStrategy executorServiceStrategy = new DefaultExecutorServiceStrategy(this);
     private Debugger debugger;
-    private UuidGenerator uuidGenerator = new DefaultUuidGenerator();
+    private UuidGenerator uuidGenerator = new JavaUuidGenerator();
     private final StopWatch stopWatch = new StopWatch(false);
     private Date startDate;
 

Copied: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/JavaUuidGenerator.java (from r998954, camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultUuidGenerator.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/JavaUuidGenerator.java?p2=camel/trunk/camel-core/src/main/java/org/apache/camel/impl/JavaUuidGenerator.java&p1=camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultUuidGenerator.java&r1=998954&r2=999235&rev=999235&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultUuidGenerator.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/JavaUuidGenerator.java Tue Sep 21 06:21:53 2010
@@ -20,7 +20,13 @@ import java.util.UUID;
 
 import org.apache.camel.spi.UuidGenerator;
 
-public class DefaultUuidGenerator implements UuidGenerator {
+/**
+ * This implementation uses the {@link UUID} from Java.
+ * <p/>
+ * The implementation of {@link UUID} is synchronized and therefore
+ * other {@link org.apache.camel.spi.UuidGenerator} may be faster in high concurrent systems.
+ */
+public class JavaUuidGenerator implements UuidGenerator {
     
     public String generateUuid() {
         return UUID.randomUUID().toString();

Propchange: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/JavaUuidGenerator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/JavaUuidGenerator.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java?rev=999235&r1=999234&r2=999235&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java Tue Sep 21 06:21:53 2010
@@ -194,7 +194,7 @@ public abstract class MessageSupport imp
         }
         // fall back to the default UUID generator
         if (uuid == null) {
-            uuid = new DefaultUuidGenerator().generateUuid();
+            uuid = new JavaUuidGenerator().generateUuid();
         }
         return uuid;
     }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/SimpleUuidGenerator.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/SimpleUuidGenerator.java?rev=999235&r1=999234&r2=999235&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/SimpleUuidGenerator.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/SimpleUuidGenerator.java Tue Sep 21 06:21:53 2010
@@ -20,9 +20,12 @@ import java.util.concurrent.atomic.Atomi
 
 import org.apache.camel.spi.UuidGenerator;
 
+/**
+ * This implementation uses a counter which increments by one
+ */
 public class SimpleUuidGenerator implements UuidGenerator {
     
-    private AtomicLong id = new AtomicLong(1);
+    private final AtomicLong id = new AtomicLong(1);
 
     public String generateUuid() {
         return String.valueOf(id.getAndIncrement());

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/spi/UuidGenerator.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/spi/UuidGenerator.java?rev=999235&r1=999234&r2=999235&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/spi/UuidGenerator.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/spi/UuidGenerator.java Tue Sep 21 06:21:53 2010
@@ -16,12 +16,15 @@
  */
 package org.apache.camel.spi;
 
+/**
+ * Generator to generate UUID strings.
+ */
 public interface UuidGenerator {
 
     /**
      * Generates a UUID string representation.  
      * 
-     * @return a UUID string.
+     * @return the unique id.
      */
     String generateUuid();
 }

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java?rev=999235&r1=999234&r2=999235&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java Tue Sep 21 06:21:53 2010
@@ -61,7 +61,7 @@ public class DefaultCamelContextTest ext
         ctx.disableJMX();
         UuidGenerator uuidGenerator = ctx.getUuidGenerator();
         assertNotNull(uuidGenerator);
-        assertEquals(uuidGenerator.getClass(), DefaultUuidGenerator.class);
+        assertEquals(uuidGenerator.getClass(), JavaUuidGenerator.class);
     }
 
     public void testGetComponents() throws Exception {

Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/impl/JavaUuidGeneratorTest.java (from r998954, camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultUuidGeneratorTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/JavaUuidGeneratorTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/impl/JavaUuidGeneratorTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultUuidGeneratorTest.java&r1=998954&r2=999235&rev=999235&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultUuidGeneratorTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/impl/JavaUuidGeneratorTest.java Tue Sep 21 06:21:53 2010
@@ -18,12 +18,12 @@ package org.apache.camel.impl;
 
 import junit.framework.TestCase;
 
-public class DefaultUuidGeneratorTest extends TestCase {
+public class JavaUuidGeneratorTest extends TestCase {
     
-    private DefaultUuidGenerator uuidGenerator;
+    private JavaUuidGenerator uuidGenerator;
 
     public void setUp() throws Exception {
-        uuidGenerator = new DefaultUuidGenerator();
+        uuidGenerator = new JavaUuidGenerator();
     }
 
     public void testGenerateUUID() {

Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/impl/JavaUuidGeneratorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/impl/JavaUuidGeneratorTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java?rev=999235&r1=999234&r2=999235&view=diff
==============================================================================
--- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java (original)
+++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java Tue Sep 21 06:21:53 2010
@@ -30,7 +30,6 @@ import org.apache.camel.component.jms.Jm
 import org.apache.camel.component.jms.reply.ReplyManager;
 import org.apache.camel.component.jms.reply.UseMessageIdAsCorrelationIdMessageSentCallback;
 import org.apache.camel.impl.DefaultAsyncProducer;
-import org.apache.camel.impl.DefaultUuidGenerator;
 import org.apache.camel.spi.UuidGenerator;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.ValueHolder;
@@ -368,8 +367,8 @@ public class JmsProducer extends Default
     protected void doStart() throws Exception {
         super.doStart();
         if (uuidGenerator == null) {
-            // use the default generator
-            uuidGenerator = new DefaultUuidGenerator();
+            // use the generator configured on the camel context
+            uuidGenerator = getEndpoint().getCamelContext().getUuidGenerator();
         }
     }
 

Modified: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java?rev=999235&r1=999234&r2=999235&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java (original)
+++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java Tue Sep 21 06:21:53 2010
@@ -18,7 +18,7 @@ package org.apache.camel.spring;
 
 import junit.framework.TestCase;
 
-import org.apache.camel.impl.DefaultUuidGenerator;
+import org.apache.camel.impl.JavaUuidGenerator;
 import org.apache.camel.impl.SimpleUuidGenerator;
 import org.apache.camel.spi.UuidGenerator;
 import org.springframework.context.support.StaticApplicationContext;
@@ -43,7 +43,7 @@ public class CamelContextFactoryBeanTest
         
         UuidGenerator uuidGenerator = factory.getContext().getUuidGenerator();
         
-        assertTrue(uuidGenerator instanceof DefaultUuidGenerator);
+        assertTrue(uuidGenerator instanceof JavaUuidGenerator);
     }
     
     public void testGetCustomUuidGenerator() throws Exception {