public class StatefulComponentDescription extends SessionBeanComponentDescription
| Modifier and Type | Class and Description |
|---|---|
class |
StatefulComponentDescription.StatefulRemoveMethod |
SessionBeanComponentDescription.SessionBeanType| Constructor and Description |
|---|
StatefulComponentDescription(String componentName,
String componentClassName,
EjbJarDescription ejbJarDescription,
org.jboss.msc.service.ServiceName deploymentUnitServiceName,
org.jboss.metadata.ejb.spec.SessionBeanMetaData descriptorData)
Construct a new instance.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addInitMethod(Method method,
String createMethod) |
void |
addRemoveMethod(org.jboss.invocation.proxy.MethodIdentifier removeMethod,
boolean retainIfException) |
ComponentConfiguration |
createConfiguration(org.jboss.as.server.deployment.reflect.ClassReflectionIndex classIndex,
ClassLoader moduleClassLoader,
org.jboss.modules.ModuleLoader moduleLoader) |
Method |
getAfterBegin() |
Method |
getAfterCompletion() |
Method |
getBeforeCompletion() |
CacheInfo |
getCache() |
org.jboss.msc.service.ServiceName |
getDeploymentUnitServiceName() |
Map<Method,String> |
getInitMethods() |
Collection<StatefulComponentDescription.StatefulRemoveMethod> |
getRemoveMethods() |
protected ViewConfigurator |
getSessionBeanObjectViewConfigurator() |
SessionBeanComponentDescription.SessionBeanType |
getSessionBeanType()
Returns the type of the session bean
|
StatefulTimeoutInfo |
getStatefulTimeout() |
boolean |
isPassivationApplicable() |
boolean |
isTimerServiceApplicable()
EJB 3.2 spec allows the TimeService to be injected/looked up/accessed from the stateful bean so as to allow access to the
TimerService.getAllTimers()
method from a stateful bean. |
boolean |
isTimerServiceRequired()
Timeout methods and auto timer methods aren't applicable for stateful beans, hence we return false.
|
void |
setAfterBegin(Method afterBegin) |
void |
setAfterCompletion(Method afterCompletion) |
void |
setBeforeCompletion(Method afterCompletion) |
void |
setCache(CacheInfo cache) |
void |
setPassivationApplicable(boolean passivationApplicable) |
void |
setStatefulTimeout(StatefulTimeoutInfo statefulTimeout) |
protected void |
setupViewInterceptors(EJBViewDescription view) |
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, setMappedNameaddDeclaredRoles, addEjbLocalObjectView, addEjbObjectView, addEJBSuspendHandlerDependency, addLocalHome, addRemoteHome, addRemoteTransactionsDependency, addScheduleMethod, addServerSecurityManagerDependency, addTransactionManagerDependencies, excludeClassLevelContainerInterceptors, excludeDefaultContainerInterceptors, getAllContainerInterceptors, getAnnotationMethodPermissions, getClassLevelContainerInterceptors, getDeclaredRoles, getDefaultContainerInterceptors, getDescriptorMethodPermissions, getEJBClassName, getEjbHomeView, getEjbLocalHomeView, getEjbLocalView, getEJBName, getEjbRemoteView, getElytronInterceptorFactories, getMethodLevelContainerInterceptors, getPolicyContextID, getRunAs, getRunAsPrincipal, getScheduleMethods, getSecurityDomain, getSecurityRoleLinks, getSecurityRoles, getShutDownInterceptorFactory, getTimeoutMethod, getTimerMethods, getTimerService, getTransactionAttributes, getTransactionManagementType, getTransactionTimeouts, hasBeanLevelSecurityMetadata, isEnableJacc, isEntity, isExcludeClassLevelContainerInterceptors, isExcludeDefaultContainerInterceptors, isExcludeDefaultContainerInterceptors, isExplicitSecurityDomainConfigured, isExposedViaIiop, isMessageDriven, isMissingMethodPermissionsDeniedAccess, isOutflowSecurityDomainsConfigured, isSecurityDomainKnown, isSecurityRequired, linkSecurityRoles, registerView, registerView, setClassLevelContainerInterceptors, setDeclaredRoles, setDefaultContainerInterceptors, setDefaultSecurityDomain, setExcludeDefaultContainerInterceptors, setExposedViaIiop, setKnownSecurityDomainFunction, setMethodContainerInterceptors, setMissingMethodPermissionsDenyAccess, setOutflowSecurityDomainsConfigured, setPolicyContextID, setRunAs, setRunAsPrincipal, setSecurityDomain, setSecurityRequired, setSecurityRoles, setTimeoutMethod, setTimerService, setTransactionManagementType, setupClientViewInterceptors, setupRemoteView, setupSecurityInterceptors, toStringaddClassInterceptor, 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, setNamingModepublic StatefulComponentDescription(String componentName, String componentClassName, EjbJarDescription ejbJarDescription, org.jboss.msc.service.ServiceName deploymentUnitServiceName, org.jboss.metadata.ejb.spec.SessionBeanMetaData descriptorData)
componentName - the component namecomponentClassName - the component instance class nameejbJarDescription - the module descriptionpublic ComponentConfiguration createConfiguration(org.jboss.as.server.deployment.reflect.ClassReflectionIndex classIndex, ClassLoader moduleClassLoader, org.jboss.modules.ModuleLoader moduleLoader)
createConfiguration in class ComponentDescriptionpublic Method getAfterBegin()
public Method getAfterCompletion()
public Method getBeforeCompletion()
public SessionBeanComponentDescription.SessionBeanType getSessionBeanType()
SessionBeanComponentDescriptiongetSessionBeanType in class SessionBeanComponentDescriptionpublic void setAfterBegin(Method afterBegin)
public void setAfterCompletion(Method afterCompletion)
public void setBeforeCompletion(Method afterCompletion)
protected void setupViewInterceptors(EJBViewDescription view)
setupViewInterceptors in class SessionBeanComponentDescriptionprotected ViewConfigurator getSessionBeanObjectViewConfigurator()
getSessionBeanObjectViewConfigurator in class SessionBeanComponentDescriptionpublic void addRemoveMethod(org.jboss.invocation.proxy.MethodIdentifier removeMethod,
boolean retainIfException)
public Collection<StatefulComponentDescription.StatefulRemoveMethod> getRemoveMethods()
public StatefulTimeoutInfo getStatefulTimeout()
public void setStatefulTimeout(StatefulTimeoutInfo statefulTimeout)
public CacheInfo getCache()
public void setCache(CacheInfo cache)
public boolean isPassivationApplicable()
isPassivationApplicable in class ComponentDescriptionpublic void setPassivationApplicable(boolean passivationApplicable)
public boolean isTimerServiceApplicable()
TimerService.getAllTimers()
method from a stateful bean. Hence we make timerservice applicable for stateful beans too. However, we return false in isTimerServiceRequired() so that a NonFunctionalTimerService
is made available for the stateful bean. The NonFunctionalTimerService only allows access to TimerService.getAllTimers() and TimerService.getTimers()
methods and throws an IllegalStateException for all othre methods on the timerservice and that's exactly how we want it to behave for stateful beansisTimerServiceApplicable in class ComponentDescription#isTimerServiceRequired()}public boolean isTimerServiceRequired()
isTimerServiceRequired in class ComponentDescription#isTimerServiceApplicable()}public org.jboss.msc.service.ServiceName getDeploymentUnitServiceName()
Copyright © 2019 JBoss by Red Hat. All rights reserved.