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) |
boolean |
allowsConcurrentAccess()
Returns true if this session bean component type allows concurrent access to the component instances.
|
ComponentConfiguration |
createConfiguration(ClassIndex 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, addWebserviceEndpointView, getAsynchronousClasses, getAsynchronousMethods, getBeanLevelAccessTimeout, getBeanLevelLockType, getConcurrencyManagementType, getDescriptorData, getMappedName, getMethodApplicableAccessTimeouts, getMethodApplicableLockTypes, hasNoInterfaceView, isSession, isSingleton, isStateful, isStateless, setAccessTimeout, setBeanLevelAccessTimeout, setBeanLevelLockType, setConcurrencyManagementType, setLockType, setMappedName
addDeclaredRoles, addEjbLocalObjectView, addEjbObjectView, addLocalHome, addRemoteHome, addRemoteTransactionsRepositoryDependency, addScheduleMethod, addServerSecurityManagerDependency, addTransactionManagerDependencies, excludeClassLevelContainerInterceptors, excludeDefaultContainerInterceptors, getAllContainerInterceptors, getAnnotationMethodPermissions, getClassLevelContainerInterceptors, getDeclaredRoles, getDefaultContainerInterceptors, getDescriptorMethodPermissions, getEJBClassName, getEjbHomeView, getEjbLocalHomeView, getEjbLocalView, getEJBName, getEjbRemoteView, getMethodLevelContainerInterceptors, getRunAs, getRunAsPrincipal, getScheduleMethods, getSecurityDomain, getSecurityRoleLinks, getSecurityRoles, getShutDownInterceptorFactory, getTimeoutMethod, getTimerMethods, getTimerService, getTransactionAttributes, getTransactionManagementType, getTransactionTimeouts, hasBeanLevelSecurityMetadata, isEntity, isExcludeClassLevelContainerInterceptors, isExcludeDefaultContainerInterceptors, isExcludeDefaultContainerInterceptors, isExplicitSecurityDomainConfigured, isExposedViaIiop, isMessageDriven, isMissingMethodPermissionsDeniedAccess, linkSecurityRoles, registerView, registerView, setClassLevelContainerInterceptors, setDeclaredRoles, setDefaultContainerInterceptors, setDefaultSecurityDomain, setExcludeDefaultContainerInterceptors, setExposedViaIiop, setMethodContainerInterceptors, setMissingMethodPermissionsDenyAccess, setRunAs, setRunAsPrincipal, setSecurityDomain, setSecurityRoles, setTimeoutMethod, setTimerService, setTransactionManagementType, setupClientViewInterceptors, setupRemoteView, setupSecurityInterceptors, toString
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
public 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(ClassIndex classIndex, ClassLoader moduleClassLoader, org.jboss.modules.ModuleLoader moduleLoader)
createConfiguration
in class ComponentDescription
public boolean allowsConcurrentAccess()
SessionBeanComponentDescription
allowsConcurrentAccess
in class SessionBeanComponentDescription
public Method getAfterBegin()
public Method getAfterCompletion()
public Method getBeforeCompletion()
public SessionBeanComponentDescription.SessionBeanType getSessionBeanType()
SessionBeanComponentDescription
getSessionBeanType
in class SessionBeanComponentDescription
public void setAfterBegin(Method afterBegin)
public void setAfterCompletion(Method afterCompletion)
public void setBeforeCompletion(Method afterCompletion)
protected void setupViewInterceptors(EJBViewDescription view)
setupViewInterceptors
in class SessionBeanComponentDescription
protected ViewConfigurator getSessionBeanObjectViewConfigurator()
getSessionBeanObjectViewConfigurator
in class SessionBeanComponentDescription
public 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 ComponentDescription
public 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 © 2015 JBoss by Red Hat. All rights reserved.