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/15 13:25:28 UTC
svn commit: r734681 - in
/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor:
DefaultTraceEventMessage.java TraceInterceptor.java Tracer.java
Author: davsclaus
Date: Thu Jan 15 04:25:27 2009
New Revision: 734681
URL: http://svn.apache.org/viewvc?rev=734681&view=rev
Log:
CAMEL-1245: JPA based trace events
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultTraceEventMessage.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/Tracer.java
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultTraceEventMessage.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultTraceEventMessage.java?rev=734681&r1=734680&r2=734681&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultTraceEventMessage.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultTraceEventMessage.java Thu Jan 15 04:25:27 2009
@@ -26,7 +26,7 @@
import org.apache.camel.util.MessageHelper;
/**
- * Default JPA based {@link TraceEventMessage}.
+ * Default {@link TraceEventMessage}.
*/
public final class DefaultTraceEventMessage implements Serializable, TraceEventMessage {
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java?rev=734681&r1=734680&r2=734681&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java Thu Jan 15 04:25:27 2009
@@ -23,6 +23,7 @@
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
+import org.apache.camel.Endpoint;
import org.apache.camel.model.InterceptorRef;
import org.apache.camel.model.ProcessorType;
import org.apache.camel.processor.DelegateProcessor;
@@ -152,7 +153,7 @@
protected void traceExchange(Exchange exchange) throws Exception {
// should we send a trace event to an optional destination?
- if (tracer.getDestinationUri() != null) {
+ if (tracer.getDestination() != null || tracer.getDestinationUri() != null) {
// create event and add it as a property on the original exchange
TraceEventExchange event = new TraceEventExchange(exchange);
Date timestamp = new Date();
@@ -163,7 +164,7 @@
// create event message to send in body
TraceEventMessage msg = new DefaultTraceEventMessage(timestamp, node, exchange);
- // should we use ordinay or jpa objects
+ // should we use ordinary or jpa objects
if (tracer.isUseJpa()) {
LOG.trace("Using class: " + JPA_TRACE_EVENT_MESSAGE + " for tracing event messages");
@@ -173,7 +174,7 @@
jpaTraceEventMessageClass = ObjectHelper.loadClass(JPA_TRACE_EVENT_MESSAGE);
if (jpaTraceEventMessageClass == null) {
throw new IllegalArgumentException("Cannot find class: " + JPA_TRACE_EVENT_MESSAGE
- + ". Make sure camel-jpa.jar is on the classpath.");
+ + ". Make sure camel-jpa.jar is in the classpath.");
}
}
}
@@ -249,7 +250,8 @@
private synchronized Producer getTraceEventProducer(Exchange exchange) throws Exception {
if (traceEventProducer == null) {
// create producer when we have access the the camel context (we dont in doStart)
- traceEventProducer = exchange.getContext().getEndpoint(tracer.getDestinationUri()).createProducer();
+ Endpoint endpoint = tracer.getDestination() != null ? tracer.getDestination() : exchange.getContext().getEndpoint(tracer.getDestinationUri());
+ traceEventProducer = endpoint.createProducer();
ServiceHelper.startService(traceEventProducer);
}
return traceEventProducer;
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/Tracer.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/Tracer.java?rev=734681&r1=734680&r2=734681&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/Tracer.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/Tracer.java Thu Jan 15 04:25:27 2009
@@ -21,6 +21,7 @@
import org.apache.camel.CamelContext;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
+import org.apache.camel.Endpoint;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.model.LoggingLevel;
import org.apache.camel.model.ProcessorType;
@@ -42,6 +43,7 @@
private boolean traceExceptions = true;
private boolean traceOutExchanges;
private String destinationUri;
+ private Endpoint destination;
private boolean useJpa;
/**
@@ -175,6 +177,17 @@
this.destinationUri = destinationUri;
}
+ public Endpoint getDestination() {
+ return destination;
+ }
+
+ /**
+ * See {@link #setDestinationUri(String)}
+ */
+ public void setDestination(Endpoint destination) {
+ this.destination = destination;
+ }
+
public boolean isUseJpa() {
return useJpa;
}