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 2015/07/21 17:59:34 UTC
[3/3] camel git commit: CAMEL-8526: Add more EIP as specialized mbeans
CAMEL-8526: Add more EIP as specialized mbeans
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/0b4c5f34
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/0b4c5f34
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/0b4c5f34
Branch: refs/heads/master
Commit: 0b4c5f341ea146afb879061c86518f4919c6b421
Parents: 3b8c71c
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Jul 21 17:49:12 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Jul 21 18:06:26 2015 +0200
----------------------------------------------------------------------
.../api/management/mbean/ManagedBeanMBean.java | 29 +++++++++++++++++++
.../camel/component/bean/BeanProcessor.java | 2 +-
.../management/mbean/ManagedBeanProcessor.java | 30 +++++++++++++++++++-
3 files changed, 59 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/0b4c5f34/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedBeanMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedBeanMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedBeanMBean.java
new file mode 100644
index 0000000..837569e
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedBeanMBean.java
@@ -0,0 +1,29 @@
+/**
+ * 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.api.management.mbean;
+
+import org.apache.camel.api.management.ManagedAttribute;
+
+public interface ManagedBeanMBean extends ManagedProcessorMBean {
+
+ @ManagedAttribute(description = "The method name on the bean to use")
+ String getMethod();
+
+ @ManagedAttribute(description = "The class name of the bean in use (may be null if not resolved yet)")
+ String getBeanClassName();
+
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/camel/blob/0b4c5f34/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java b/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java
index a273162..6565c2e 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java
@@ -37,10 +37,10 @@ import org.slf4j.LoggerFactory;
public class BeanProcessor extends ServiceSupport implements AsyncProcessor {
private static final Logger LOG = LoggerFactory.getLogger(BeanProcessor.class);
+ private final BeanHolder beanHolder;
private Processor processor;
private boolean multiParameterArray;
private String method;
- private BeanHolder beanHolder;
private boolean shorthandMethod;
public BeanProcessor(Object pojo, BeanInfo beanInfo) {
http://git-wip-us.apache.org/repos/asf/camel/blob/0b4c5f34/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedBeanProcessor.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedBeanProcessor.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedBeanProcessor.java
index e732f5d..5133b16 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedBeanProcessor.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedBeanProcessor.java
@@ -17,15 +17,20 @@
package org.apache.camel.management.mbean;
import org.apache.camel.CamelContext;
+import org.apache.camel.NoSuchBeanException;
import org.apache.camel.api.management.ManagedResource;
+import org.apache.camel.api.management.mbean.ManagedBeanMBean;
import org.apache.camel.component.bean.BeanProcessor;
import org.apache.camel.model.ProcessorDefinition;
+import org.apache.camel.util.ObjectHelper;
/**
* @version
*/
@ManagedResource(description = "Managed Bean Processor")
-public class ManagedBeanProcessor extends ManagedProcessor {
+public class ManagedBeanProcessor extends ManagedProcessor implements ManagedBeanMBean {
+
+ private transient String beanClassName;
public ManagedBeanProcessor(CamelContext context, BeanProcessor processor, ProcessorDefinition<?> definition) {
super(context, processor, definition);
@@ -40,4 +45,27 @@ public class ManagedBeanProcessor extends ManagedProcessor {
public Object getInstance() {
return getProcessor().getBean();
}
+
+ @Override
+ public String getMethod() {
+ return getProcessor().getMethod();
+ }
+
+ @Override
+ public String getBeanClassName() {
+ if (beanClassName != null) {
+ return beanClassName;
+ }
+ try {
+ Object bean = getProcessor().getBean();
+ if (bean != null) {
+ beanClassName = ObjectHelper.className(bean);
+ }
+ } catch (NoSuchBeanException e) {
+ // ignore
+ }
+
+ return beanClassName;
+ }
+
}