public static Class createProxy(final Class<?> classToProxy, final ClassLoader cl, final Class... interfaces) { return createProxy(classToProxy, cl, classToProxy.getName() + "$$LocalBeanProxy", interfaces); }
public static Class createProxy(final Class<?> classToProxy, final ClassLoader cl, final Class... interfaces) { return createProxy(classToProxy, cl, classToProxy.getName() + "$$LocalBeanProxy", interfaces); }
public static Object newProxyInstance(final ClassLoader classLoader, final InvocationHandler handler, final Class classToSubclass, final Class... interfaces) throws IllegalArgumentException { try { final Class proxyClass = createProxy(classToSubclass, classLoader, interfaces); return constructProxy(proxyClass, handler); } catch (final Throwable e) { throw new InternalError("LocalBeanProxyFactory.newProxyInstance: " + Debug.printStackTrace(e)); } }
public static Object newProxyInstance(final ClassLoader classLoader, final InvocationHandler handler, final Class classToSubclass, final Class... interfaces) throws IllegalArgumentException { try { final Class proxyClass = createProxy(classToSubclass, classLoader, interfaces); return constructProxy(proxyClass, handler); } catch (final Throwable e) { throw new InternalError("LocalBeanProxyFactory.newProxyInstance: " + Debug.printStackTrace(e)); } }
private static void eagerInitOfLocalBeanProxies(final Collection<BeanContext> beans, final ClassLoader classLoader) { for (final BeanContext deployment : beans) { if (deployment.isLocalbean() && !deployment.isDynamicallyImplemented()) { // init proxy eagerly otherwise deserialization of serialized object can't work final List<Class> interfaces = new ArrayList<>(2); interfaces.add(Serializable.class); interfaces.add(IntraVmProxy.class); final BeanType type = deployment.getComponentType(); if (BeanType.STATEFUL.equals(type) || BeanType.MANAGED.equals(type)) { interfaces.add(BeanContext.Removable.class); } try { LocalBeanProxyFactory.createProxy(deployment.getBeanClass(), classLoader, interfaces.toArray(new Class<?>[interfaces.size()])); } catch (final Exception e) { // no-op: as before } } } }
public ProxyClass(final BeanContext beanContext, final Class<?>[] interfaces) { Class<?> clazz; try { clazz = LocalBeanProxyFactory.createProxy( beanContext.getBeanClass(), beanContext.getClassLoader(), interfaces); } catch (final Throwable e) { // VerifyError logger.debug(beanContext.getBeanClass().getName() + " is not proxiable", e); clazz = null; } this.proxy = clazz; }
public ProxyClass(final BeanContext beanContext, final Class<?>[] interfaces) { Class<?> clazz; try { clazz = LocalBeanProxyFactory.createProxy( beanContext.getBeanClass(), beanContext.getClassLoader(), interfaces); } catch (final Throwable e) { // VerifyError logger.debug(beanContext.getBeanClass().getName() + " is not proxiable", e); clazz = null; } this.proxy = clazz; }
public EndpointFactory(final ActivationSpec activationSpec, final MdbContainer container, final BeanContext beanContext, final MdbInstanceFactory instanceFactory, final XAResourceWrapper xaResourceWrapper) { this.activationSpec = activationSpec; this.container = container; this.beanContext = beanContext; this.instanceFactory = instanceFactory; classLoader = container.getMessageListenerInterface().getClassLoader(); interfaces = new Class[]{container.getMessageListenerInterface(), MessageEndpoint.class}; this.xaResourceWrapper = xaResourceWrapper; final BeanContext.ProxyClass proxyClass = beanContext.get(BeanContext.ProxyClass.class); if (proxyClass == null) { proxy = LocalBeanProxyFactory.createProxy(beanContext.getBeanClass(), beanContext.getClassLoader(), interfaces); beanContext.set(BeanContext.ProxyClass.class, new BeanContext.ProxyClass(beanContext, interfaces)); } else { proxy = proxyClass.getProxy(); } }
public EndpointFactory(final ActivationSpec activationSpec, final BaseMdbContainer container, final BeanContext beanContext, final MdbInstanceFactory instanceFactory, final MdbInstanceManager instanceManager, final XAResourceWrapper xaResourceWrapper, boolean usePool) { this.activationSpec = activationSpec; this.container = container; this.beanContext = beanContext; this.instanceFactory = instanceFactory; this.instanceManager = instanceManager; classLoader = container.getMessageListenerInterface().getClassLoader(); interfaces = new Class[]{container.getMessageListenerInterface(), MessageEndpoint.class}; this.xaResourceWrapper = xaResourceWrapper; this.usePool = usePool; final BeanContext.ProxyClass proxyClass = beanContext.get(BeanContext.ProxyClass.class); if (proxyClass == null) { proxy = LocalBeanProxyFactory.createProxy(beanContext.getBeanClass(), beanContext.getClassLoader(), interfaces); beanContext.set(BeanContext.ProxyClass.class, new BeanContext.ProxyClass(beanContext, interfaces)); } else { proxy = proxyClass.getProxy(); } }