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 {