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) {