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 2012/10/06 17:43:41 UTC

svn commit: r1395099 - in /openejb/trunk/openejb: container/openejb-core/src/main/java/org/apache/openejb/util/proxy/ProxyEJB.java osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java

Author: rmannibucau
Date: Sat Oct  6 15:43:41 2012
New Revision: 1395099

URL: http://svn.apache.org/viewvc?rev=1395099&view=rev
Log:
OPENEJB-1911 adding ProxyEJB.simpleProxy to avoid to export too much interfaces in service registry (OSGi for instance)

Modified:
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/ProxyEJB.java
    openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/ProxyEJB.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/ProxyEJB.java?rev=1395099&r1=1395098&r2=1395099&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/ProxyEJB.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/ProxyEJB.java Sat Oct  6 15:43:41 2012
@@ -34,6 +34,14 @@ public class ProxyEJB {
         return LocalBeanProxyFactory.newProxyInstance(beanClass.getClassLoader(), new Handler(beanContext), beanClass, IntraVmProxy.class, Serializable.class);
     }
 
+    // same as proxy() but it doesn't add IvmProxy and Serializable interfaces (use in bridges proxies like OSGi services)
+    public static Object simpleProxy(final BeanContext beanContext, final Class<?>[] itfs) {
+        if (beanContext.isLocalbean()) {
+            return LocalBeanProxyFactory.newProxyInstance(itfs[0].getClassLoader(), new Handler(beanContext), itfs[0]);
+        }
+        return Proxy.newProxyInstance(itfs[0].getClassLoader(), itfs, new Handler(beanContext));
+    }
+
     public static Object proxy(final BeanContext beanContext, final Class<?>[] itfs) {
         if (beanContext.isLocalbean()) {
             return LocalBeanProxyFactory.newProxyInstance(itfs[0].getClassLoader(), new Handler(beanContext), itfs[0], IntraVmProxy.class, Serializable.class);

Modified: openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java?rev=1395099&r1=1395098&r2=1395099&view=diff
==============================================================================
--- openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java (original)
+++ openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java Sat Oct  6 15:43:41 2012
@@ -255,7 +255,7 @@ public class Deployer implements BundleL
 
             final Class<?>[] itfs = interfaces.toArray(new Class<?>[interfaces.size()]);
             try {
-                final Object service = ProxyEJB.proxy(beanContext, itfs);
+                final Object service = ProxyEJB.simpleProxy(beanContext, itfs);
                 registrations.get(context.getBundle()).add(context.registerService(str(itfs), service, new Properties()));
                 LOGGER.info("EJB registered: {0} for interfaces {1}", beanContext.getEjbName(), interfaces);
             } catch (IllegalArgumentException iae) {