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 2009/01/21 16:06:47 UTC
svn commit: r736322 - in
/camel/trunk/camel-core/src/main/java/org/apache/camel: component/dataset/
component/direct/ component/file/ component/jmx/ component/log/
component/seda/ component/timer/ impl/
Author: davsclaus
Date: Wed Jan 21 07:06:46 2009
New Revision: 736322
URL: http://svn.apache.org/viewvc?rev=736322&view=rev
Log:
CAMEL-1282: Endpoints in camel-core is nowe easier to create using spring beans in the spring xml files. There is a defualt no args constructor and then you can set all properties on the endpoint using spring.
Added:
camel/trunk/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java (with props)
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXComponent.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/log/LogComponent.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ProcessorEndpoint.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java?rev=736322&r1=736321&r2=736322&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java Wed Jan 21 07:06:46 2009
@@ -46,6 +46,9 @@
private long startTime;
private long preloadSize;
+ public DataSetEndpoint() {
+ }
+
public DataSetEndpoint(String endpointUri, Component component, DataSet dataSet) {
super(endpointUri, component);
this.dataSet = dataSet;
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java?rev=736322&r1=736321&r2=736322&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java Wed Jan 21 07:06:46 2009
@@ -36,6 +36,9 @@
private boolean allowMultipleConsumers = true;
private final CopyOnWriteArrayList<DefaultConsumer> consumers = new CopyOnWriteArrayList<DefaultConsumer>();
+ public DirectEndpoint() {
+ }
+
public DirectEndpoint(String uri, DirectComponent component) {
super(uri, component);
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java?rev=736322&r1=736321&r2=736322&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java Wed Jan 21 07:06:46 2009
@@ -63,7 +63,7 @@
private boolean noop;
private boolean append = true;
private boolean recursive;
- private String regexPattern = "";
+ private String regexPattern;
private String moveNamePrefix;
private String moveNamePostfix;
private String preMoveNamePrefix;
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXComponent.java?rev=736322&r1=736321&r2=736322&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXComponent.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXComponent.java Wed Jan 21 07:06:46 2009
@@ -41,7 +41,6 @@
}
protected Endpoint createEndpoint(String uri, String remaining, Map parameters) throws Exception {
-
JMXEndpoint result = new JMXEndpoint(remaining, this);
setProperties(result, parameters);
result.setMbeanServer(getMbeanServer());
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java?rev=736322&r1=736321&r2=736322&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java Wed Jan 21 07:06:46 2009
@@ -23,11 +23,10 @@
import org.apache.camel.Consumer;
import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.impl.DefaultEndpoint;
-import org.apache.camel.impl.DefaultExchange;
+import org.apache.camel.util.ObjectHelper;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -39,7 +38,6 @@
public class JMXEndpoint extends DefaultEndpoint {
private static final transient Log LOG = LogFactory.getLog(JMXEndpoint.class);
private String name;
- private ObjectName ourName;
private String observedObjectName;
private String attributeName;
private long granularityPeriod = 5000;
@@ -48,7 +46,10 @@
private MBeanServer mbeanServer;
private CounterMonitor counterMonitor = new CounterMonitor();
- protected JMXEndpoint(String endpointUri, JMXComponent component) {
+ public JMXEndpoint() {
+ }
+
+ public JMXEndpoint(String endpointUri, JMXComponent component) {
super(endpointUri, component);
observedObjectName = endpointUri;
}
@@ -62,6 +63,8 @@
}
public Consumer createConsumer(Processor proc) throws Exception {
+ ObjectHelper.notNull(mbeanServer, "mbeanServer");
+
ObjectName observedName = new ObjectName(observedObjectName);
if (name == null) {
String type = observedName.getKeyProperty("type");
@@ -70,7 +73,7 @@
}
JMXConsumer result = new JMXConsumer(this, proc);
- ourName = new ObjectName(name);
+ ObjectName ourName = new ObjectName(name);
counterMonitor.setNotify(true);
counterMonitor.addObservedObject(observedName);
counterMonitor.setObservedAttribute(attributeName);
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/log/LogComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/log/LogComponent.java?rev=736322&r1=736321&r2=736322&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/log/LogComponent.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/log/LogComponent.java Wed Jan 21 07:06:46 2009
@@ -20,7 +20,6 @@
import org.apache.camel.Endpoint;
import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.impl.ProcessorEndpoint;
import org.apache.camel.model.LoggingLevel;
import org.apache.camel.processor.Logger;
import org.apache.camel.processor.ThroughputLogger;
@@ -50,7 +49,9 @@
logger.setFormatter(formatter);
}
- return new ProcessorEndpoint(uri, this, logger);
+ LogEndpoint endpoint = new LogEndpoint(uri, this);
+ setProperties(endpoint, parameters);
+ return new LogEndpoint(uri, this, logger);
}
/**
Added: camel/trunk/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java?rev=736322&view=auto
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java (added)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java Wed Jan 21 07:06:46 2009
@@ -0,0 +1,51 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.log;
+
+import org.apache.camel.Component;
+import org.apache.camel.impl.ProcessorEndpoint;
+import org.apache.camel.processor.Logger;
+
+/**
+ * Log endpoint.
+ */
+public class LogEndpoint extends ProcessorEndpoint {
+
+ private Logger logger;
+
+ public LogEndpoint() {
+ }
+
+ public LogEndpoint(String endpointUri, Component component) {
+ super(endpointUri, component);
+ }
+
+ public LogEndpoint(String endpointUri, Component component, Logger logger) {
+ super(endpointUri, component);
+ setLogger(logger);
+ }
+
+ public Logger getLogger() {
+ return logger;
+ }
+
+ public void setLogger(Logger logger) {
+ this.logger = logger;
+ // the logger is the processor
+ setProcessor(this.logger);
+ }
+}
Propchange: camel/trunk/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: camel/trunk/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java?rev=736322&r1=736321&r2=736322&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java Wed Jan 21 07:06:46 2009
@@ -20,6 +20,7 @@
import java.util.List;
import java.util.Map;
import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
import org.apache.camel.Component;
import org.apache.camel.Consumer;
@@ -28,7 +29,6 @@
import org.apache.camel.Producer;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.spi.BrowsableEndpoint;
-import org.apache.camel.util.ObjectHelper;
/**
* An implementation of the <a
@@ -39,6 +39,10 @@
*/
public class SedaEndpoint extends DefaultEndpoint implements BrowsableEndpoint {
private BlockingQueue<Exchange> queue;
+ private int size = 1000;
+
+ public SedaEndpoint() {
+ }
public SedaEndpoint(String endpointUri, Component component, BlockingQueue<Exchange> queue) {
super(endpointUri, component);
@@ -51,7 +55,6 @@
public SedaEndpoint(String endpointUri, BlockingQueue<Exchange> queue) {
super(endpointUri);
- ObjectHelper.notNull(queue, "queue");
this.queue = queue;
}
@@ -63,10 +66,25 @@
return new SedaConsumer(this, processor);
}
- public BlockingQueue<Exchange> getQueue() {
+ public synchronized BlockingQueue<Exchange> getQueue() {
+ if (queue == null) {
+ queue = new LinkedBlockingQueue<Exchange>(size);
+ }
return queue;
}
+ public void setQueue(BlockingQueue<Exchange> queue) {
+ this.queue = queue;
+ }
+
+ public int getSize() {
+ return size;
+ }
+
+ public void setSize(int size) {
+ this.size = size;
+ }
+
public boolean isSingleton() {
return true;
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java?rev=736322&r1=736321&r2=736322&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java Wed Jan 21 07:06:46 2009
@@ -31,7 +31,7 @@
* @version $Revision$
*/
public class TimerComponent extends DefaultComponent {
- private Map<String, Timer> timers = new HashMap<String, Timer>();
+ private final Map<String, Timer> timers = new HashMap<String, Timer>();
public Timer getTimer(TimerEndpoint endpoint) {
String key = endpoint.getTimerName();
@@ -39,10 +39,13 @@
key = "nonDaemon:" + key;
}
- Timer answer = timers.get(key);
- if (answer == null) {
- answer = new Timer(endpoint.getTimerName(), endpoint.isDaemon());
- timers.put(key, answer);
+ Timer answer;
+ synchronized (timers) {
+ answer = timers.get(key);
+ if (answer == null) {
+ answer = new Timer(endpoint.getTimerName(), endpoint.isDaemon());
+ timers.put(key, answer);
+ }
}
return answer;
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java?rev=736322&r1=736321&r2=736322&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java Wed Jan 21 07:06:46 2009
@@ -20,7 +20,6 @@
import java.util.Timer;
import org.apache.camel.Consumer;
-import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.RuntimeCamelException;
@@ -40,6 +39,9 @@
private boolean daemon = true;
private Timer timer;
+ public TimerEndpoint() {
+ }
+
public TimerEndpoint(String fullURI, TimerComponent component, String timerName) {
super(fullURI, component);
this.timer = component.getTimer(this);
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ProcessorEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ProcessorEndpoint.java?rev=736322&r1=736321&r2=736322&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ProcessorEndpoint.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ProcessorEndpoint.java Wed Jan 21 07:06:46 2009
@@ -80,6 +80,10 @@
return processor;
}
+ public void setProcessor(Processor processor) {
+ this.processor = processor;
+ }
+
protected Processor createProcessor() throws Exception {
return new Processor() {
public void process(Exchange exchange) throws Exception {