You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2011/12/01 07:18:56 UTC
svn commit: r1208963 - in
/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb:
api/ api/internal/ api/internal/Internal.java
assembler/classic/ReloadableEntityManagerFactory.java
config/MBeanDeployer.java
Author: rmannibucau
Date: Thu Dec 1 06:18:55 2011
New Revision: 1208963
URL: http://svn.apache.org/viewvc?rev=1208963&view=rev
Log:
ability to mark Ignore an internal object to avoid to re-deploy it or to show it (used for internal @Mbeans today)
Added:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/api/
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/api/internal/
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/api/internal/Internal.java
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ReloadableEntityManagerFactory.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/MBeanDeployer.java
Added: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/api/internal/Internal.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/api/internal/Internal.java?rev=1208963&view=auto
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/api/internal/Internal.java (added)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/api/internal/Internal.java Thu Dec 1 06:18:55 2011
@@ -0,0 +1,18 @@
+package org.apache.openejb.api.internal;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Can be used as a marker to specify than an object is internal.
+ *
+ * Used for instance for internal @Mbeans.
+ *
+ * @author rmannibucau
+ */
+@Target({ ElementType.TYPE, ElementType.METHOD, ElementType.FIELD })
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Internal {
+}
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ReloadableEntityManagerFactory.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ReloadableEntityManagerFactory.java?rev=1208963&r1=1208962&r2=1208963&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ReloadableEntityManagerFactory.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ReloadableEntityManagerFactory.java Thu Dec 1 06:18:55 2011
@@ -1,6 +1,7 @@
package org.apache.openejb.assembler.classic;
import org.apache.openejb.OpenEJBException;
+import org.apache.openejb.api.internal.Internal;
import org.apache.openejb.jee.JAXBContextFactory;
import org.apache.openejb.jee.Persistence;
import org.apache.openejb.jee.PersistenceUnitCaching;
@@ -284,6 +285,7 @@ public class ReloadableEntityManagerFact
}
@MBean
+ @Internal
@Description("represents a persistence unit managed by OpenEJB")
public static class JMXReloadableEntityManagerFactory {
private ReloadableEntityManagerFactory reloadableEntityManagerFactory;
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/MBeanDeployer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/MBeanDeployer.java?rev=1208963&r1=1208962&r2=1208963&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/MBeanDeployer.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/MBeanDeployer.java Thu Dec 1 06:18:55 2011
@@ -32,10 +32,12 @@ import javax.management.MBeanServer;
import javax.management.ObjectName;
import org.apache.openejb.OpenEJB;
import org.apache.openejb.OpenEJBException;
+import org.apache.openejb.api.internal.Internal;
import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.monitoring.DynamicMBeanWrapper;
import org.apache.openejb.monitoring.LocalMBeanServer;
import org.apache.openejb.monitoring.ObjectNameBuilder;
+import org.apache.openejb.util.AnnotationUtil;
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
import org.apache.xbean.finder.ClassFinder;
@@ -143,7 +145,9 @@ public class MBeanDeployer implements Dy
}
for (Class<?> clazz : list) {
- mbeans.put(clazz, getObjectName(clazz, id));
+ if (AnnotationUtil.getAnnotation(Internal.class, clazz) == null) {
+ mbeans.put(clazz, getObjectName(clazz, id));
+ }
}
} else if (listProp != null) {
for (String name : listProp.replace(" ", "").split(OPENEJB_MBEAN_CLASSES_SPLIT)) {