Class StatefulComponentDescription
java.lang.Object
org.jboss.as.ee.component.ComponentDescription
org.jboss.as.ejb3.component.EJBComponentDescription
org.jboss.as.ejb3.component.session.SessionBeanComponentDescription
org.jboss.as.ejb3.component.stateful.StatefulComponentDescription
- All Implemented Interfaces:
ResourceInjectionTarget
User: jpai
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classNested classes/interfaces inherited from class org.jboss.as.ejb3.component.session.SessionBeanComponentDescription
SessionBeanComponentDescription.SessionBeanType -
Constructor Summary
ConstructorsConstructorDescriptionStatefulComponentDescription(String componentName, String componentClassName, EjbJarDescription ejbJarDescription, org.jboss.as.server.deployment.DeploymentUnit deploymentUnit, org.jboss.metadata.ejb.spec.SessionBeanMetaData descriptorData) Construct a new instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddInitMethod(Method method, String createMethod) voidaddRemoveMethod(org.jboss.invocation.proxy.MethodIdentifier removeMethod, boolean retainIfException) createConfiguration(org.jboss.as.server.deployment.reflect.ClassReflectionIndex classIndex, ClassLoader moduleClassLoader, org.jboss.modules.ModuleLoader moduleLoader) getCache()org.jboss.msc.service.ServiceNameorg.jboss.msc.service.ServiceNameprotected ViewConfiguratorReturns the type of the session beanbooleanbooleanEJB 3.2 spec allows theTimerServiceto be injected/looked up/accessed from the stateful bean so as to allow access to theTimerService.getAllTimers()method from a stateful bean.booleanTimeout methods and auto timer methods aren't applicable for stateful beans, hence we return false.voidsetAfterBegin(Method afterBegin) voidsetAfterCompletion(Method afterCompletion) voidsetBeforeCompletion(Method afterCompletion) voidvoidsetPassivationApplicable(boolean passivationApplicable) voidsetStatefulTimeout(StatefulTimeoutInfo statefulTimeout) protected voidMethods inherited from class org.jboss.as.ejb3.component.session.SessionBeanComponentDescription
addAsynchronousClass, addAsynchronousMethod, addCurrentInvocationContextFactory, addCurrentInvocationContextFactory, addLocalBusinessInterfaceViews, addLocalBusinessInterfaceViews, addNoInterfaceView, addRemoteBusinessInterfaceViews, addTxManagementInterceptorForView, addWebserviceEndpointView, getAsynchronousClasses, getAsynchronousMethods, getBeanLevelAccessTimeout, getBeanLevelLockType, getConcurrencyManagementType, getDescriptorData, getMappedName, getMethodApplicableAccessTimeouts, getMethodApplicableLockTypes, hasNoInterfaceView, isSession, isSingleton, isStateful, isStateless, setAccessTimeout, setBeanLevelAccessTimeout, setBeanLevelLockType, setConcurrencyManagementType, setLockType, setMappedNameMethods inherited from class org.jboss.as.ejb3.component.EJBComponentDescription
addDeclaredRoles, addEjbLocalObjectView, addEjbObjectView, addEJBSuspendHandlerDependency, addLocalHome, addRemoteHome, addRemoteTransactionsDependency, addScheduleMethod, addTransactionManagerDependencies, excludeClassLevelContainerInterceptors, excludeDefaultContainerInterceptors, getAllContainerInterceptors, getAnnotationMethodPermissions, getClassLevelContainerInterceptors, getDeclaredRoles, getDefaultContainerInterceptors, getDefinedSecurityDomain, getDescriptorMethodPermissions, getEJBClassName, getEjbHomeView, getEjbLocalHomeView, getEjbLocalView, getEJBName, getEjbRemoteView, getElytronInterceptorFactories, getMethodLevelContainerInterceptors, getResolvedSecurityDomain, getRunAs, getRunAsPrincipal, getScheduleMethods, getSecurityDomainServiceName, getSecurityRoleLinks, getSecurityRoles, getServerInterceptorCache, getShutDownInterceptorFactory, getTimeoutMethod, getTimerMethods, getTimerServiceResource, getTransactionAttributes, getTransactionManagementType, getTransactionTimeouts, hasBeanLevelSecurityMetadata, isEntity, isExcludeClassLevelContainerInterceptors, isExcludeDefaultContainerInterceptors, isExcludeDefaultContainerInterceptors, isExposedViaIiop, isMessageDriven, isMissingMethodPermissionsDeniedAccess, isOutflowSecurityDomainsConfigured, isSecurityRequired, linkSecurityRoles, registerView, registerView, requiresJacc, requiresLegacyCompliantPrincipalPropagation, setClassLevelContainerInterceptors, setDeclaredRoles, setDefaultContainerInterceptors, setDefaultSecurityDomain, setDefinedSecurityDomain, setExcludeDefaultContainerInterceptors, setExposedViaIiop, setLegacyCompliantPrincipalPropagation, setMethodContainerInterceptors, setMissingMethodPermissionsDenyAccess, setOutflowSecurityDomainsConfigured, setRequiresJacc, setRunAs, setRunAsPrincipal, setSecurityDomainServiceName, setSecurityRequired, setSecurityRoles, setServerInterceptorCache, setTimeoutMethod, setTimerServiceResource, setTransactionManagementType, setupClientViewInterceptors, setupRemoteView, setupSecurityInterceptors, toStringMethods inherited from class org.jboss.as.ee.component.ComponentDescription
addClassInterceptor, addDependency, addInterceptorMethodOverride, addMethodInterceptor, addResourceInjection, excludeClassInterceptors, excludeDefaultInterceptors, getAllInterceptors, getApplicationName, getBeanDeploymentArchiveId, getBindingConfigurations, getClassInterceptor, getClassInterceptors, getComponentClassName, getComponentName, getConfigurators, getContextServiceName, getCreateServiceName, getDefaultInterceptors, getDependencies, getDeploymentDescriptorEnvironment, getMethodInterceptors, getModuleDescription, getModuleName, getNamingMode, getResourceInjections, getServiceName, getStartServiceName, getViews, isCDIInterceptorEnabled, isExcludeClassInterceptors, isExcludeDefaultInterceptors, isExcludeDefaultInterceptors, isIgnoreLifecycleInterceptors, isIntercepted, isOptional, mergeInterceptorConfig, setBeanDeploymentArchiveId, setClassInterceptors, setContextServiceName, setDefaultInterceptors, setDeploymentDescriptorEnvironment, setExcludeDefaultInterceptors, setIgnoreLifecycleInterceptors, setMethodInterceptors, setNamingMode
-
Constructor Details
-
StatefulComponentDescription
public StatefulComponentDescription(String componentName, String componentClassName, EjbJarDescription ejbJarDescription, org.jboss.as.server.deployment.DeploymentUnit deploymentUnit, org.jboss.metadata.ejb.spec.SessionBeanMetaData descriptorData) Construct a new instance.- Parameters:
componentName- the component namecomponentClassName- the component instance class nameejbJarDescription- the module description
-
-
Method Details
-
createConfiguration
public ComponentConfiguration createConfiguration(org.jboss.as.server.deployment.reflect.ClassReflectionIndex classIndex, ClassLoader moduleClassLoader, org.jboss.modules.ModuleLoader moduleLoader) - Overrides:
createConfigurationin classComponentDescription
-
getAfterBegin
-
getAfterCompletion
-
getBeforeCompletion
-
getSessionBeanType
Description copied from class:SessionBeanComponentDescriptionReturns the type of the session bean- Specified by:
getSessionBeanTypein classSessionBeanComponentDescription- Returns:
-
setAfterBegin
-
setAfterCompletion
-
setBeforeCompletion
-
setupViewInterceptors
- Overrides:
setupViewInterceptorsin classSessionBeanComponentDescription
-
getSessionBeanObjectViewConfigurator
- Specified by:
getSessionBeanObjectViewConfiguratorin classSessionBeanComponentDescription
-
addRemoveMethod
public void addRemoveMethod(org.jboss.invocation.proxy.MethodIdentifier removeMethod, boolean retainIfException) -
getRemoveMethods
-
getStatefulTimeout
-
setStatefulTimeout
-
addInitMethod
-
getInitMethods
-
getCache
-
setCache
-
isPassivationApplicable
public boolean isPassivationApplicable()- Overrides:
isPassivationApplicablein classComponentDescription
-
setPassivationApplicable
public void setPassivationApplicable(boolean passivationApplicable) -
isTimerServiceApplicable
public boolean isTimerServiceApplicable()EJB 3.2 spec allows theTimerServiceto be injected/looked up/accessed from the stateful bean so as to allow access to theTimerService.getAllTimers()method from a stateful bean. Hence we makeTimerServiceapplicable for stateful beans too. However, we returnfalseinisTimerServiceRequired()so that aNonFunctionalTimerServiceis made available for the stateful bean. TheNonFunctionalTimerServiceonly allows access toTimerService.getAllTimers()andTimerService.getTimers()methods and throws anIllegalStateExceptionfor all other methods on theTimerServiceand that's exactly how we want it to behave for stateful beans- Overrides:
isTimerServiceApplicablein classComponentDescription- Returns:
-
isTimerServiceRequired
public boolean isTimerServiceRequired()Timeout methods and auto timer methods aren't applicable for stateful beans, hence we return false.- Overrides:
isTimerServiceRequiredin classComponentDescription- Returns:
-
getDeploymentUnitServiceName
public org.jboss.msc.service.ServiceName getDeploymentUnitServiceName() -
getCacheFactoryServiceName
public org.jboss.msc.service.ServiceName getCacheFactoryServiceName()
-