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 2019/06/12 05:03:35 UTC
[camel] 06/08: CAMEL-13369: Message History EIP now supports
filtering nodes and to keep a copy of the traced message.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 3a72850172b8cb667c9b9520814b788cc84aa1ee
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Jun 11 21:23:40 2019 +0200
CAMEL-13369: Message History EIP now supports filtering nodes and to keep a copy of the traced message.
---
.../impl/engine}/DefaultMessageHistoryFactory.java | 17 +++++++++--------
.../java/org/apache/camel/impl/DefaultCamelContext.java | 2 +-
.../impl/DefaultAsyncProcessorAwaitManagerTest.java | 2 +-
3 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessageHistoryFactory.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultMessageHistoryFactory.java
similarity index 89%
rename from core/camel-support/src/main/java/org/apache/camel/support/DefaultMessageHistoryFactory.java
rename to core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultMessageHistoryFactory.java
index c0c1050..13acc5c 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessageHistoryFactory.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultMessageHistoryFactory.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.support;
+package org.apache.camel.impl.engine;
import org.apache.camel.Exchange;
import org.apache.camel.Message;
@@ -23,6 +23,8 @@ import org.apache.camel.NamedNode;
import org.apache.camel.api.management.ManagedAttribute;
import org.apache.camel.api.management.ManagedResource;
import org.apache.camel.spi.MessageHistoryFactory;
+import org.apache.camel.support.DefaultMessageHistory;
+import org.apache.camel.support.PatternHelper;
import org.apache.camel.support.service.ServiceSupport;
@ManagedResource(description = "Managed MessageHistoryFactory")
@@ -30,17 +32,13 @@ public class DefaultMessageHistoryFactory extends ServiceSupport implements Mess
private boolean copyMessage;
private String nodePattern;
+ private volatile String[] nodePatternParts;
@Override
public MessageHistory newMessageHistory(String routeId, NamedNode node, long timestamp, Exchange exchange) {
- if (!isRunAllowed()) {
- return null;
- }
-
- if (nodePattern != null) {
+ if (nodePatternParts != null) {
String name = node.getShortName();
- String[] parts = nodePattern.split(",");
- for (String part : parts) {
+ for (String part : nodePatternParts) {
boolean match = PatternHelper.matchPattern(name, part);
if (!match) {
return null;
@@ -74,6 +72,9 @@ public class DefaultMessageHistoryFactory extends ServiceSupport implements Mess
@ManagedAttribute(description = "Pattern to filter EIPs")
public void setNodePattern(String nodePattern) {
this.nodePattern = nodePattern;
+ if (nodePattern != null) {
+ this.nodePatternParts = nodePattern.split(",");
+ }
}
@Override
diff --git a/core/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/core/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
index dbfc62c..6b7ac7e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
+++ b/core/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
@@ -41,6 +41,7 @@ import org.apache.camel.impl.engine.DefaultInflightRepository;
import org.apache.camel.impl.engine.DefaultInjector;
import org.apache.camel.impl.engine.DefaultLanguageResolver;
import org.apache.camel.impl.engine.DefaultManagementNameStrategy;
+import org.apache.camel.impl.engine.DefaultMessageHistoryFactory;
import org.apache.camel.impl.engine.DefaultNodeIdFactory;
import org.apache.camel.impl.engine.DefaultPackageScanClassResolver;
import org.apache.camel.impl.engine.DefaultProcessorFactory;
@@ -57,7 +58,6 @@ import org.apache.camel.impl.engine.WebSpherePackageScanClassResolver;
import org.apache.camel.impl.health.DefaultHealthCheckRegistry;
import org.apache.camel.runtimecatalog.RuntimeCamelCatalog;
import org.apache.camel.runtimecatalog.impl.DefaultRuntimeCamelCatalog;
-import org.apache.camel.support.DefaultMessageHistoryFactory;
import org.apache.camel.spi.AsyncProcessorAwaitManager;
import org.apache.camel.spi.BeanProcessorFactory;
import org.apache.camel.spi.BeanProxyFactory;
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/DefaultAsyncProcessorAwaitManagerTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/DefaultAsyncProcessorAwaitManagerTest.java
index 8afe37a..a4c30e6 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/DefaultAsyncProcessorAwaitManagerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/DefaultAsyncProcessorAwaitManagerTest.java
@@ -26,7 +26,7 @@ import org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager;
import org.apache.camel.spi.AsyncProcessorAwaitManager;
import org.apache.camel.spi.MessageHistoryFactory;
import org.apache.camel.support.DefaultExchange;
-import org.apache.camel.support.DefaultMessageHistoryFactory;
+import org.apache.camel.impl.engine.DefaultMessageHistoryFactory;
import org.junit.Test;
import static org.hamcrest.core.Is.is;