protected void setupRemoteView(final EJBViewDescription viewDescription) { viewDescription.getConfigurators().add(new ViewConfigurator() { @Override public void configure(final DeploymentPhaseContext context, final ComponentConfiguration componentConfiguration, final ViewDescription description, final ViewConfiguration configuration) throws DeploymentUnitProcessingException { configuration.getDependencies().add(new DependencyConfigurator<ViewService>() { @Override public void configureDependency(final ServiceBuilder<?> serviceBuilder, final ViewService service) throws DeploymentUnitProcessingException { CapabilityServiceSupport support = context.getDeploymentUnit().getAttachment(org.jboss.as.server.deployment.Attachments.CAPABILITY_SERVICE_SUPPORT); serviceBuilder.requires(support.getCapabilityServiceName(EJB3RemoteResourceDefinition.EJB_REMOTE_CAPABILITY_NAME)); } }); } }); }
public EJBViewDescription(final ComponentDescription componentDescription, final String viewClassName, final MethodIntf methodIntf, final boolean ejb2xView) { //only add the default configurator if an ejb 3.x business view super(componentDescription, viewClassName, !ejb2xView && methodIntf != MethodIntf.HOME && methodIntf != MethodIntf.LOCAL_HOME ); this.methodIntf = methodIntf; this.ejb2xView = ejb2xView; hasJNDIBindings = initHasJNDIBindings(methodIntf); //add a configurator to attach the MethodIntf for this view getConfigurators().add(new ViewConfigurator() { @Override public void configure(final DeploymentPhaseContext context, final ComponentConfiguration componentConfiguration, final ViewDescription description, final ViewConfiguration configuration) throws DeploymentUnitProcessingException { configuration.putPrivateData(MethodIntf.class, getMethodIntf()); } }); // add a view configurator for setting up application specific container interceptors for the EJB view getConfigurators().add(EJBContainerInterceptorsViewConfigurator.INSTANCE); }
private void configureHome(final ComponentDescription componentDescription, final SessionBeanComponentDescription ejbComponentDescription, final EJBViewDescription homeView, final EJBViewDescription ejbObjectView) { homeView.getConfigurators().add(new ViewConfigurator() {
public void addEjbObjectView(final String viewClassName) { final EJBViewDescription view = registerView(viewClassName, MethodIntf.REMOTE, true); view.getConfigurators().add(new Ejb2ViewTypeConfigurator(Ejb2xViewType.REMOTE)); this.ejbRemoteView = view; }
public void addEjbLocalObjectView(final String viewClassName) { final EJBViewDescription view = registerView(viewClassName, MethodIntf.LOCAL, true); view.getConfigurators().add(new Ejb2ViewTypeConfigurator(Ejb2xViewType.LOCAL)); this.ejbLocalView = view; }
@Override protected void setupViewInterceptors(EJBViewDescription view) { // let the super do its job super.setupViewInterceptors(view); view.getConfigurators().add(new ViewConfigurator() { @Override public void configure(DeploymentPhaseContext context, ComponentConfiguration componentConfiguration, ViewDescription description, ViewConfiguration configuration) throws DeploymentUnitProcessingException { //add the invocation type to the start of the chain //TODO: is there a cleaner way to do this? configuration.addViewInterceptor(new ImmediateInterceptorFactory(new Interceptor() { @Override public Object processInvocation(final InterceptorContext context) throws Exception { context.putPrivateData(InvocationType.class, InvocationType.MESSAGE_DELIVERY); return context.proceed(); } }), InterceptorOrder.View.INVOCATION_TYPE); // add the instance associating interceptor at the start of the interceptor chain configuration.addViewInterceptor(MessageDrivenComponentInstanceAssociatingFactory.instance(), InterceptorOrder.View.ASSOCIATING_INTERCEPTOR); final MessageDrivenComponentDescription mdb = (MessageDrivenComponentDescription) componentConfiguration.getComponentDescription(); if (mdb.getTransactionManagementType() == TransactionManagementType.CONTAINER) { configuration.addViewInterceptor(CMTTxInterceptor.FACTORY, InterceptorOrder.View.CMT_TRANSACTION_INTERCEPTOR); } } }); }
private void addStatefulInstanceAssociatingInterceptor(final EJBViewDescription view) { view.getConfigurators().add(new ViewConfigurator() { @Override public void configure(final DeploymentPhaseContext context, final ComponentConfiguration componentConfiguration, ViewDescription description, ViewConfiguration viewConfiguration) throws DeploymentUnitProcessingException { view.getConfigurators().add(new ViewConfigurator() { @Override public void configure(DeploymentPhaseContext context, ComponentConfiguration componentConfiguration, ViewDescription description, ViewConfiguration configuration) throws DeploymentUnitProcessingException {
private void setupRemoteViewInterceptors(final EJBViewDescription view) { if (view.getMethodIntf() == MethodIntf.REMOTE || view.getMethodIntf() == MethodIntf.HOME) { view.getConfigurators().add(new ViewConfigurator() { @Override public void configure(final DeploymentPhaseContext context, final ComponentConfiguration componentConfiguration, final ViewDescription description, final ViewConfiguration configuration) throws DeploymentUnitProcessingException { if (Remote.class.isAssignableFrom(configuration.getViewClass())) { configuration.addViewInterceptor(EjbExceptionTransformingInterceptorFactories.REMOTE_INSTANCE, InterceptorOrder.View.REMOTE_EXCEPTION_TRANSFORMER); } } }); if (view.getMethodIntf() == MethodIntf.HOME) { view.getConfigurators().add(new ViewConfigurator() { @Override public void configure(final DeploymentPhaseContext context, final ComponentConfiguration componentConfiguration, final ViewDescription description, final ViewConfiguration configuration) throws DeploymentUnitProcessingException { if (Remote.class.isAssignableFrom(configuration.getViewClass())) { final String earApplicationName = componentConfiguration.getComponentDescription().getModuleDescription().getEarApplicationName(); configuration.setViewInstanceFactory(new RemoteHomeViewInstanceFactory(earApplicationName, componentConfiguration.getModuleName(), componentConfiguration.getComponentDescription().getModuleDescription().getDistinctName(), componentConfiguration.getComponentName())); } } }); } } }
@Override protected void setupViewInterceptors(EJBViewDescription view) { // let super do it's job first super.setupViewInterceptors(view); // tx management interceptor(s) addTxManagementInterceptorForView(view); if(view.isEjb2xView()) { view.getConfigurators().add(getSessionBeanObjectViewConfigurator()); } }
view.getConfigurators().addFirst(new ViewConfigurator() { @Override public void configure(DeploymentPhaseContext context, ComponentConfiguration componentConfiguration, ViewDescription description, ViewConfiguration configuration) throws DeploymentUnitProcessingException { EJBViewDescription ejbViewDescription = (EJBViewDescription) view; if (ejbViewDescription.getMethodIntf() == MethodIntf.REMOTE) { view.getConfigurators().add(new ViewConfigurator() { @Override public void configure(final DeploymentPhaseContext context, final ComponentConfiguration componentConfiguration, final ViewDescription description, final ViewConfiguration configuration) throws DeploymentUnitProcessingException {
protected void setupViewInterceptors(final EJBViewDescription view) { // add a logging interceptor (to take care of EJB3 spec, section 14.3 logging requirements) view.getConfigurators().add(new ViewConfigurator() { @Override public void configure(DeploymentPhaseContext context, ComponentConfiguration componentConfiguration, ViewDescription description, ViewConfiguration viewConfiguration) throws DeploymentUnitProcessingException { viewConfiguration.addViewInterceptor(LoggingInterceptor.FACTORY, InterceptorOrder.View.EJB_EXCEPTION_LOGGING_INTERCEPTOR); final ClassLoader classLoader = componentConfiguration.getModuleClassLoader(); viewConfiguration.addViewInterceptor(AccessCheckingInterceptor.getFactory(), InterceptorOrder.View.CHECKING_INTERCEPTOR); viewConfiguration.addViewInterceptor(new ImmediateInterceptorFactory(new ContextClassLoaderInterceptor(classLoader)), InterceptorOrder.View.TCCL_INTERCEPTOR); //If this is the EJB 2.x local or home view add the exception transformer interceptor if (view.getMethodIntf() == MethodIntf.LOCAL && EJBLocalObject.class.isAssignableFrom(viewConfiguration.getViewClass())) { viewConfiguration.addViewInterceptor(EjbExceptionTransformingInterceptorFactories.LOCAL_INSTANCE, InterceptorOrder.View.REMOTE_EXCEPTION_TRANSFORMER); } else if (view.getMethodIntf() == MethodIntf.LOCAL_HOME) { viewConfiguration.addViewInterceptor(EjbExceptionTransformingInterceptorFactories.LOCAL_INSTANCE, InterceptorOrder.View.REMOTE_EXCEPTION_TRANSFORMER); } final List<SetupAction> ejbSetupActions = context.getDeploymentUnit().getAttachmentList(Attachments.OTHER_EE_SETUP_ACTIONS); if (!ejbSetupActions.isEmpty()) { viewConfiguration.addViewInterceptor(AdditionalSetupInterceptor.factory(ejbSetupActions), InterceptorOrder.View.EE_SETUP); } viewConfiguration.addViewInterceptor(WaitTimeInterceptor.FACTORY, InterceptorOrder.View.EJB_WAIT_TIME_INTERCEPTOR); viewConfiguration.addViewInterceptor(shutDownInterceptorFactory, InterceptorOrder.View.SHUTDOWN_INTERCEPTOR); } }); this.addCurrentInvocationContextFactory(view); this.setupSecurityInterceptors(view); this.setupRemoteViewInterceptors(view); view.getConfigurators().addFirst(new NamespaceViewConfigurator()); }
view.getConfigurators().addFirst(new ViewConfigurator() { @Override public void configure(DeploymentPhaseContext context, ComponentConfiguration componentConfiguration, ViewDescription description, ViewConfiguration configuration) throws DeploymentUnitProcessingException { view.getConfigurators().add(new ViewConfigurator() { @Override public void configure(final DeploymentPhaseContext context, final ComponentConfiguration componentConfiguration, final ViewDescription description, final ViewConfiguration configuration) throws DeploymentUnitProcessingException {
@Override protected void setupViewInterceptors(EJBViewDescription view) { // let super do its job super.setupViewInterceptors(view); // add the @Remove method interceptor this.addRemoveMethodInterceptor(view); // setup the instance associating interceptors this.addStatefulInstanceAssociatingInterceptor(view); this.addViewSerializationInterceptor(view); if (view.getMethodIntf() == MethodIntf.REMOTE) { view.getConfigurators().add(new ViewConfigurator() { @Override public void configure(final DeploymentPhaseContext context, final ComponentConfiguration componentConfiguration, final ViewDescription description, final ViewConfiguration configuration) throws DeploymentUnitProcessingException { final String earApplicationName = componentConfiguration.getComponentDescription().getModuleDescription().getEarApplicationName(); configuration.setViewInstanceFactory(new StatefulRemoteViewInstanceFactory(earApplicationName, componentConfiguration.getModuleName(), componentConfiguration.getComponentDescription().getModuleDescription().getDistinctName(), componentConfiguration.getComponentName())); } }); } }
final EJBViewDescription ejbView = (EJBViewDescription) view; ejbView.getConfigurators().add(new ViewConfigurator() { @Override public void configure(final DeploymentPhaseContext context, final ComponentConfiguration componentConfiguration, final ViewDescription description, final ViewConfiguration configuration) throws DeploymentUnitProcessingException {
componentDescription.getEjbRemoteView().getConfigurators().add(new IIOPInterceptorViewConfigurator());
protected void setupRemoteView(final EJBViewDescription viewDescription) { viewDescription.getConfigurators().add(new ViewConfigurator() { @Override public void configure(final DeploymentPhaseContext context, final ComponentConfiguration componentConfiguration, final ViewDescription description, final ViewConfiguration configuration) throws DeploymentUnitProcessingException { configuration.getDependencies().add(new DependencyConfigurator<ViewService>() { @Override public void configureDependency(final ServiceBuilder<?> serviceBuilder, final ViewService service) throws DeploymentUnitProcessingException { serviceBuilder.addDependency(EJBRemoteConnectorService.SERVICE_NAME); } }); } }); }
public EJBViewDescription(final ComponentDescription componentDescription, final String viewClassName, final MethodIntf methodIntf, final boolean ejb2xView) { //only add the default configurator if an 3jb 3.x business view super(componentDescription, viewClassName, !ejb2xView && methodIntf != MethodIntf.HOME && methodIntf != MethodIntf.LOCAL_HOME ); this.methodIntf = methodIntf; this.ejb2xView = ejb2xView; hasJNDIBindings = initHasJNDIBindings(methodIntf); //add a configurator to attach the MethodIntf for this view getConfigurators().add(new ViewConfigurator() { @Override public void configure(final DeploymentPhaseContext context, final ComponentConfiguration componentConfiguration, final ViewDescription description, final ViewConfiguration configuration) throws DeploymentUnitProcessingException { configuration.putPrivateData(MethodIntf.class, getMethodIntf()); } }); // add a view configurator for setting up application specific container interceptors for the EJB view getConfigurators().add(EJBContainerInterceptorsViewConfigurator.INSTANCE); }
public void addEjbObjectView(final String viewClassName) { final EJBViewDescription view = registerView(viewClassName, MethodIntf.REMOTE, true); view.getConfigurators().add(new Ejb2ViewTypeConfigurator(Ejb2xViewType.REMOTE)); this.ejbRemoteView = view; }
public void addEjbLocalObjectView(final String viewClassName) { final EJBViewDescription view = registerView(viewClassName, MethodIntf.LOCAL, true); view.getConfigurators().add(new Ejb2ViewTypeConfigurator(Ejb2xViewType.LOCAL)); this.ejbLocalView = view; }
@Override protected void setupViewInterceptors(EJBViewDescription view) { // let super do it's job first super.setupViewInterceptors(view); // tx management interceptor(s) addTxManagementInterceptorForView(view); if(view.isEjb2xView()) { view.getConfigurators().add(getSessionBeanObjectViewConfigurator()); } }