1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.platform.camel.core.management;
17
18 import javax.management.MalformedObjectNameException;
19 import javax.management.ObjectName;
20
21 import org.apache.camel.CamelContext;
22 import org.apache.camel.Processor;
23 import org.apache.camel.management.DefaultManagementNamingStrategy;
24 import org.apache.camel.model.ProcessorDefinition;
25 import org.apache.camel.model.ProcessorDefinitionHelper;
26 import org.apache.camel.model.RouteDefinition;
27
28
29
30
31 public class ProcessorManagementNamingStrategy extends
32 DefaultManagementNamingStrategy {
33
34 public static final String KEY_ROUTE = "route";
35
36 public ObjectName getObjectNameForProcessor(CamelContext context,
37 Processor processor, ProcessorDefinition<?> definition)
38 throws MalformedObjectNameException {
39
40 StringBuilder buffer = new StringBuilder();
41 buffer.append(domainName).append(":");
42 buffer.append(KEY_CONTEXT + "=").append(getContextId(context)).append(",");
43 buffer.append(KEY_TYPE + "=").append(TYPE_PROCESSOR).append(",");
44
45 RouteDefinition route = ProcessorDefinitionHelper.getRoute(definition);
46
47 if (route != null) {
48 buffer.append(KEY_ROUTE + "=").append(route.getId()).append(",");
49 }
50
51 buffer.append(KEY_NAME + "=").append(ObjectName.quote(definition.getId()));
52 return createObjectName(buffer);
53 }
54
55 }