Package org.jboss.as.ee.component

Examples of org.jboss.as.ee.component.ComponentInstance


    @Override
    public Object processInvocation(InterceptorContext context) throws Exception {
        final EJBComponent component = getComponent(context, EJBComponent.class);
        // create the instance
        final ComponentInstance componentInstance = component.createInstance();
        context.putPrivateData(ComponentInstance.class, componentInstance);
        //if this is set to true we do not invoke instance.destroy
        //as we are not allowed to invoke pre-destroy callbacks
        boolean discard = false;
        try {
            return context.proceed();
        } catch (Exception ex) {
            final EJBComponent ejbComponent = component;
            // Detect app exception
            if (ejbComponent.getApplicationException(ex.getClass(), context.getMethod()) != null) {
                // it's an application exception, just throw it back.
                throw ex;
            }
            if (ex instanceof ConcurrentAccessTimeoutException || ex instanceof ConcurrentAccessException) {
                throw ex;
            }
            if (ex instanceof RuntimeException || ex instanceof RemoteException) {
                discard = true;
            }
            throw ex;
        } catch (final Error e) {
            discard = true;
            throw e;
        } catch (final Throwable t) {
            discard = true;
            throw new RuntimeException(t);
        } finally {
            context.putPrivateData(ComponentInstance.class, null);
            // destroy the instance
            if (!discard) {
                componentInstance.destroy();
            }
        }
    }
View Full Code Here


    }

    @Override
    public Object processInvocation(InterceptorContext context) throws Exception {
        PooledComponent<ComponentInstance> component = (PooledComponent<ComponentInstance>) getComponent(context, EJBComponent.class);
        ComponentInstance instance = component.getPool().get();
        context.putPrivateData(ComponentInstance.class, instance);
        boolean discarded = false;
        try {
            return context.proceed();
        } catch (Exception ex) {
View Full Code Here

    @Override
    public Object processInvocation(InterceptorContext interceptorContext) throws Exception {
        SingletonComponent singletonComponent = getComponent(interceptorContext, SingletonComponent.class);
        // get the component instance
        ComponentInstance singletonComponentInstance = singletonComponent.getComponentInstance();
        if (singletonComponent == null) {
            throw MESSAGES.componentInstanceNotAvailable(interceptorContext);
        }
        interceptorContext.putPrivateData(ComponentInstance.class, singletonComponentInstance);
        return interceptorContext.proceed();
View Full Code Here

    }

    @Override
    public Object processInvocation(InterceptorContext context) throws Exception {

        ComponentInstance componentInstance = context.getPrivateData(ComponentInstance.class);
        Object serviceInstance = componentInstance.getInstance();
        Method serviceMethod = context.getMethod();
        Class serviceClass = serviceInstance.getClass();

        Object result;
        ProtocolHandler protocolHandler = HandlerFactory.getInstance(new ServiceInvocationMeta(serviceInstance, serviceClass, serviceMethod));
View Full Code Here

    }

    @Override
    public Object processInvocation(InterceptorContext context) throws Exception {
        PooledComponent<ComponentInstance> component = (PooledComponent<ComponentInstance>) getComponent(context, EJBComponent.class);
        ComponentInstance instance = component.getPool().get();
        context.putPrivateData(ComponentInstance.class, instance);
        boolean discarded = false;
        try {
            return context.proceed();
        } catch (Exception ex) {
View Full Code Here

    }

    @Override
    public Object processInvocation(InterceptorContext interceptorContext) throws Exception {
        SingletonComponent singletonComponent = getComponent(interceptorContext, SingletonComponent.class);
        ComponentInstance singletonComponentInstance = singletonComponent.getComponentInstance();
        if (singletonComponentInstance == null) {
            throw EjbLogger.ROOT_LOGGER.componentInstanceNotAvailable(interceptorContext);
        }
        interceptorContext.putPrivateData(ComponentInstance.class, singletonComponentInstance);
        return interceptorContext.proceed();
View Full Code Here

    public static EJBContextImpl getEjbContext() {
        final InterceptorContext context = get();
        if(context == null) {
            throw EjbLogger.ROOT_LOGGER.noEjbContextAvailable();
        }
        final ComponentInstance component = context.getPrivateData(ComponentInstance.class);
        if(!(component instanceof EjbComponentInstance)) {
            throw EjbLogger.ROOT_LOGGER.currentComponentNotAEjb(component);
        }
        return ((EjbComponentInstance)component).getEjbContext();
    }
View Full Code Here

        }
    }

    @Override
    public Object processInvocation(final InterceptorContext context) throws Exception {
        final ComponentInstance componentInstance = context.getPrivateData(ComponentInstance.class);
        final WeldInterceptorInstances interceptorInstances = (WeldInterceptorInstances) componentInstance.getInstanceData(SerializedCdiInterceptorsKey.class);
        final InterceptorBindings interceptorBindings = this.interceptorBindings.getValue();
        switch (interceptionType) {
            case AROUND_INVOKE:
                return doMethodInterception(context.getInvocationContext(), InterceptionType.AROUND_INVOKE, interceptorInstances, interceptorBindings);
            case AROUND_TIMEOUT:
View Full Code Here

                bean = beanManager.getBean(descriptor);
            }
        }
        InterceptorBindings interceptorBindings = this.interceptorBindings.getValue();

        final ComponentInstance componentInstance = interceptorContext.getPrivateData(ComponentInstance.class);
        WeldInterceptorInstances existing = (WeldInterceptorInstances) componentInstance.getInstanceData(SerializedCdiInterceptorsKey.class);

        if (existing == null) {
            CreationalContext<Object> creationalContext = beanManager.createCreationalContext(bean);
            HashMap<String, SerializableContextualInstance<Interceptor<Object>, Object>> interceptorInstances = new HashMap<String, SerializableContextualInstance<Interceptor<Object>, Object>>();

            if (interceptorBindings != null) {
                for (Interceptor<?> interceptor : interceptorBindings.getAllInterceptors()) {
                    addInterceptorInstance((Interceptor<Object>) interceptor, beanManager, interceptorInstances, creationalContext);
                }
            }
            WeldInterceptorInstances instances = new WeldInterceptorInstances(creationalContext, interceptorInstances);
            componentInstance.setInstanceData(SerializedCdiInterceptorsKey.class, instances);
        }
        return interceptorContext.proceed();
    }
View Full Code Here

    }

    @Override
    public Object processInvocation(final InterceptorContext context) throws Exception {
        WeldInjectionContext injectionContext = context.getPrivateData(WeldInjectionContext.class);
        final ComponentInstance componentInstance = context.getPrivateData(ComponentInstance.class);
        //now inject the interceptors
        for (final Class<?> interceptorClass : interceptorClasses) {
            final ManagedReference instance = (ManagedReference) componentInstance.getInstanceData(interceptorClass);
            if (instance != null) {
                injectionContext.injectInterceptor(instance.getInstance());
            }
        }
        return context.proceed();
View Full Code Here

TOP

Related Classes of org.jboss.as.ee.component.ComponentInstance

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.