/** * Called from Interceptor Chain to create the bean instance. */ public void invokeSpecial() throws Throwable { if (eventType == CallbackType.AROUND_CONSTRUCT) { if (container == null) { targetObjectInstance = targetObjectClass.newInstance(); interceptorInfo.setTargetObjectInstance(targetObjectInstance); } else { container.createEjbInstanceForInterceptors(ctorParams, ctx); targetObjectInstance = ctx.getEJB(); } } // else do nothing? XXX }
public InterceptorInvoker createInvoker(Object instance) throws Exception { interceptorInfo.setTargetObjectInstance(instance); // Proxy invocation handler. Also implements InterceptorInvoker. InterceptorInvocationHandler invoker = new InterceptorInvocationHandler(); Proxy proxy = (Proxy) Proxy.newProxyInstance( subClass.getClassLoader(), new Class[] { subClassIntf }, invoker); // Object passed back to the caller. OptionalLocalInterfaceProvider provider = (OptionalLocalInterfaceProvider) subClass.newInstance(); provider.setOptionalLocalIntfProxy(proxy); invoker.init(instance, interceptorManager.createInterceptorInstances(), provider, interceptorManager); return invoker; }
public InterceptorInvoker createInvoker(Object instance) throws Exception { interceptorInfo.setTargetObjectInstance(instance); // Proxy invocation handler. Also implements InterceptorInvoker. InterceptorInvocationHandler invoker = new InterceptorInvocationHandler(); Proxy proxy = (Proxy) Proxy.newProxyInstance( subClass.getClassLoader(), new Class[] { subClassIntf }, invoker); // Object passed back to the caller. OptionalLocalInterfaceProvider provider = (OptionalLocalInterfaceProvider) subClass.newInstance(); provider.setOptionalLocalIntfProxy(proxy); invoker.init(instance, interceptorManager.createInterceptorInstances(), provider, interceptorManager); return invoker; }