Package org.jboss.as.ee.component

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


        final Object existing = context.getPrivateData(EntityBeanComponent.PRIMARY_KEY_CONTEXT_KEY);
        final Method ejbCreate = (Method) context.getPrivateData(EntityBeanHomeCreateInterceptorFactory.EJB_CREATE_METHOD_KEY);
        final Method ejbPostCreate = (Method) context.getPrivateData(EntityBeanHomeCreateInterceptorFactory.EJB_POST_CREATE_METHOD_KEY);
        final Object[] params = (Object[]) context.getPrivateData(EntityBeanHomeCreateInterceptorFactory.PARAMETERS_KEY);

        final ComponentClientInstance clientInstance = context.getPrivateData(ComponentClientInstance.class);

        if (existing != null) {
            clientInstance.setViewInstanceData(EntityBeanComponent.PRIMARY_KEY_CONTEXT_KEY, existing);
            return existing;
        }
        final Component component = context.getPrivateData(Component.class);
        if (!(component instanceof EntityBeanComponent)) {
            throw EjbLogger.ROOT_LOGGER.unexpectedComponent(component, EntityBeanComponent.class);
        }
        final EntityBeanComponent entityBeanComponent = (EntityBeanComponent) component;
        //grab an unasociated entity bean from the pool
        final EntityBeanComponentInstance instance = entityBeanComponent.acquireUnAssociatedInstance();

        //call the ejbCreate method
        final Object primaryKey = invokeEjbCreate(context, ejbCreate, instance, params);
        instance.associate(primaryKey);
        clientInstance.setViewInstanceData(EntityBeanComponent.PRIMARY_KEY_CONTEXT_KEY, primaryKey);

        //now add the instance to the cache, so it is usable
        //note that we do not release it back to the pool
        //the cache will do that when it is expired or removed
        boolean synchronizationRegistered = false;
View Full Code Here


    public Object processInvocation(InterceptorContext context) throws Exception {
        final Component component = context.getPrivateData(Component.class);
        if (component instanceof StatefulSessionComponent == false) {
            throw EjbLogger.ROOT_LOGGER.unexpectedComponent(component, StatefulSessionComponent.class);
        }
        ComponentClientInstance clientInstance = context.getPrivateData(ComponentClientInstance.class);
        SessionID existing = context.getPrivateData(SessionID.class);
        if (existing != null) {
            clientInstance.setViewInstanceData(SessionID.class, existing);
        } else {
            StatefulSessionComponent statefulComponent = (StatefulSessionComponent) component;
            StatefulSessionComponentInstance statefulSessionComponentInstance = statefulComponent.getCache().create();
            clientInstance.setViewInstanceData(SessionID.class, statefulSessionComponentInstance.getId());
        }

        // move to the next interceptor in chain
        return context.proceed();
    }
View Full Code Here

public final class ManagedBeanCreateInterceptor implements Interceptor {

    public static final InterceptorFactory FACTORY = new ImmediateInterceptorFactory(new ManagedBeanCreateInterceptor());

    public Object processInvocation(final InterceptorContext context) throws Exception {
        final ComponentClientInstance instance = context.getPrivateData(ComponentClientInstance.class);
        final Component component = context.getPrivateData(Component.class);
        final ComponentInstance componentInstance = component.createInstance();
        boolean ok = false;
        try {
            context.putPrivateData(ComponentInstance.class, componentInstance);
            instance.setViewInstanceData(ComponentInstance.class, componentInstance);
            final Object result = context.proceed();
            ok = true;
            return result;
        } finally {
            context.putPrivateData(ComponentInstance.class, null);
            if (! ok) {
                componentInstance.destroy();
                instance.setViewInstanceData(ComponentInstance.class, null);
            }
        }
    }
View Full Code Here

TOP

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

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.