org.jboss.ejb3
Class Ejb3Deployment

java.lang.Object
  extended by org.jboss.mx.util.JBossNotificationBroadcasterSupport
      extended by org.jboss.system.ServiceMBeanSupport
          extended by org.jboss.ejb3.Ejb3Deployment
All Implemented Interfaces:
javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, javax.management.NotificationEmitter, Ejb3DeploymentMBean, JavaEEModule, org.jboss.kernel.spi.dependency.KernelControllerContextAware, org.jboss.system.Service, org.jboss.system.ServiceMBean

public abstract class Ejb3Deployment
extends org.jboss.system.ServiceMBeanSupport
implements JavaEEModule, Ejb3DeploymentMBean

An EjbModule represents a collection of beans that are deployed as a unit.


Field Summary
static java.lang.String ACTUAL_ENTITY_MANAGER_FACTORY_CONTEXT
           
protected  CacheFactoryRegistry cacheFactoryRegistry
           
protected  java.lang.String defaultConsumerDomain
           
protected  java.lang.String defaultMDBDomain
           
protected  java.lang.String defaultServiceDomain
           
protected  java.lang.String defaultSFSBDomain
           
protected  java.lang.String defaultSLSBDomain
           
protected  DeploymentScope deploymentScope
           
protected  java.util.LinkedHashMap<javax.management.ObjectName,Container> ejbContainers
           
protected  java.util.List<java.lang.String> explicitEntityClasses
           
protected  boolean hasEntities
           
protected  javax.naming.InitialContext initialContext
           
protected  KernelAbstraction kernelAbstraction
           
static java.lang.String MANAGED_ENTITY_FACTORY_CONTEXT
           
protected  javax.management.MBeanServer mbeanServer
           
protected  javax.management.ObjectName objectName
           
protected  PersistenceManagerFactoryRegistry persistenceManagerFactoryRegistry
           
protected  PoolFactoryRegistry poolFactoryRegistry
           
protected  boolean reinitialize
           
protected  DeploymentUnit unit
           
 
Fields inherited from class org.jboss.system.ServiceMBeanSupport
server, SERVICE_CONTROLLER_SIG, serviceName
 
Fields inherited from interface org.jboss.system.ServiceMBean
CREATE_EVENT, CREATED, DESTROY_EVENT, DESTROYED, FAILED, REGISTERED, START_EVENT, STARTED, STARTING, states, STOP_EVENT, STOPPED, STOPPING, UNREGISTERED
 
Constructor Summary
Ejb3Deployment(org.jboss.deployers.structure.spi.DeploymentUnit deploymentUnit, DeploymentUnit unit, DeploymentScope deploymentScope, org.jboss.metadata.ejb.jboss.JBossMetaData metaData)
          Do not deploy persistence unit anymore.
 
Method Summary
 boolean canResolveEJB()
          Deprecated. 
 void create()
          Create all EJB containers and Persistence Units The only things that should be initialized is metadata that does not need access to any other deployment.
abstract  DependencyPolicy createDependencyPolicy(JavaEEComponent component)
           
protected abstract  javax.security.jacc.PolicyConfiguration createPolicyConfiguration()
           
protected  void deploy()
           
protected  void deployBeansFromLib(javax.naming.InitialContext ctx)
           
protected  void deployElement(Ejb3HandlerFactory factory, javassist.bytecode.ClassFile cf, javax.naming.InitialContext ctx)
           
protected  void deployElement(java.io.InputStream stream, Ejb3HandlerFactory factory, javax.naming.InitialContext ctx)
           
protected  void deployUrl(Ejb3HandlerFactory factory)
           
 void destroy()
           
 JavaEEApplication getApplication()
           
 java.lang.String getAppName()
           
 java.util.concurrent.ExecutorService getAsynchronousProcessor()
           
 CacheFactoryRegistry getCacheFactoryRegistry()
           
 Container getContainer(javax.management.ObjectName name)
           
 java.lang.String getDefaultConsumerDomain()
           
 java.lang.String getDefaultMDBDomain()
           
 java.lang.String getDefaultServiceDomain()
           
 java.lang.String getDefaultSFSBDomain()
           
 java.lang.String getDefaultSLSBDomain()
           
 DeploymentUnit getDeploymentUnit()
           
 DeploymentScope getEar()
           
 EJBContainer getEjbContainer(java.lang.Class businessIntf)
           
 EJBContainer getEjbContainer(java.lang.String ejbLink, java.lang.Class businessIntf)
           
 EJBContainer getEjbContainerForEjbName(java.lang.String ejbName)
          Get the deployment ejb container for the given ejb name.
 java.util.Map getEjbContainers()
           
 java.lang.String getEjbJndiName(java.lang.Class businessIntf)
           
 java.lang.String getEjbJndiName(java.lang.String ejbLink, java.lang.Class businessIntf)
           
protected
<B extends org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData>
B
getEnterpriseBeanMetaData(java.lang.String ejbName, java.lang.Class<B> enterpriseBeanMetaDataClass)
          Do not call, for use in Ejb3Handler.
protected  java.util.Collection<InjectionHandler<org.jboss.metadata.javaee.spec.Environment>> getHandlers()
          Return the container injection handler collection.
protected  java.lang.String getJaccContextId()
           
 KernelAbstraction getKernelAbstraction()
           
 javax.management.MBeanServer getMbeanServer()
           
 org.jboss.metadata.ejb.jboss.JBossMetaData getMetaData()
          Get the meta data associated with this deployment or null if none.
 java.lang.String getName()
           
 PersistenceManagerFactoryRegistry getPersistenceManagerFactoryRegistry()
           
 java.util.List<?> getPersistenceUnitDeployments()
          Deprecated. 
 PoolFactoryRegistry getPoolFactoryRegistry()
           
protected  void processEJBContainerMetadata(Container container)
           
protected abstract  void putJaccInService(javax.security.jacc.PolicyConfiguration pc, DeploymentUnit unit)
           
protected  void registerDeployment()
           
protected  void registerEJBContainer(Container container)
           
protected  void reinitialize()
           
 java.lang.String resolveEJB(java.lang.String link, java.lang.Class<?> beanInterface, java.lang.String mappedName)
           
 java.lang.String resolveMessageDestination(java.lang.String link)
           
protected  java.lang.String resolvePersistenceUnitSupplier(java.lang.String persistenceUnitName)
           
 void setCacheFactoryRegistry(CacheFactoryRegistry registry)
           
 void setDefaultMDBDomain(java.lang.String defaultMDBDomain)
          The default AOP domain for message driven beans.
 void setDefaultServiceDomain(java.lang.String defaultServiceDomain)
          default AOP domain for service beans.
 void setDefaultSFSBDomain(java.lang.String defaultSFSBDomain)
          The default stateful session bean aspect domain
 void setDefaultSLSBDomain(java.lang.String defaultSLSBDomain)
          The default AOP domain for stateless session beans
 void setEJBReferenceResolver(org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolver resolver)
          Deprecated. Use setEJBReferenceResolver(EjbReferenceResolver) instead
 void setEJBReferenceResolver(org.jboss.ejb3.ejbref.resolver.spi.EjbReferenceResolver resolver)
          Sets the EjbReferenceResolver to be used for resolving jndi names from an EjbReference
 void setMbeanServer(javax.management.MBeanServer mbeanServer)
           
 void setMessageDestinationReferenceResolver(MessageDestinationReferenceResolver resolver)
           
 void setPersistenceManagerFactoryRegistry(PersistenceManagerFactoryRegistry registry)
           
 void setPersistenceUnitDependencyResolver(org.jboss.jpa.resolvers.PersistenceUnitDependencyResolver resolver)
           
 void setPoolFactoryRegistry(PoolFactoryRegistry poolFactoryRegistry)
           
 void setProcessPersistenceUnits(boolean b)
          Deprecated. processing persistence units is no longer supported, use jpa-deployers
 void start()
           
 void stop()
           
protected  void unregisterDeployment()
           
 
Methods inherited from class org.jboss.system.ServiceMBeanSupport
createService, destroyService, getDeploymentInfo, getLog, getNextNotificationSequenceNumber, getObjectName, getServer, getServiceName, getState, getStateString, jbossInternalCreate, jbossInternalDescription, jbossInternalDestroy, jbossInternalLifecycle, jbossInternalStart, jbossInternalStop, pojoChange, pojoCreate, pojoDestroy, pojoStart, pojoStop, postDeregister, postRegister, preDeregister, preRegister, setKernelControllerContext, startService, stopService, unsetKernelControllerContext
 
Methods inherited from class org.jboss.mx.util.JBossNotificationBroadcasterSupport
addNotificationListener, getNotificationInfo, handleNotification, nextNotificationSequenceNumber, removeNotificationListener, removeNotificationListener, sendNotification
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jboss.system.ServiceMBean
getState, getStateString, jbossInternalLifecycle
 

Field Detail

ACTUAL_ENTITY_MANAGER_FACTORY_CONTEXT

public static final java.lang.String ACTUAL_ENTITY_MANAGER_FACTORY_CONTEXT
See Also:
Constant Field Values

MANAGED_ENTITY_FACTORY_CONTEXT

public static final java.lang.String MANAGED_ENTITY_FACTORY_CONTEXT
See Also:
Constant Field Values

unit

protected DeploymentUnit unit

ejbContainers

protected java.util.LinkedHashMap<javax.management.ObjectName,Container> ejbContainers

hasEntities

protected boolean hasEntities

explicitEntityClasses

protected java.util.List<java.lang.String> explicitEntityClasses

defaultSLSBDomain

protected java.lang.String defaultSLSBDomain

defaultSFSBDomain

protected java.lang.String defaultSFSBDomain

defaultMDBDomain

protected java.lang.String defaultMDBDomain

defaultConsumerDomain

protected java.lang.String defaultConsumerDomain

defaultServiceDomain

protected java.lang.String defaultServiceDomain

initialContext

protected javax.naming.InitialContext initialContext

kernelAbstraction

protected KernelAbstraction kernelAbstraction

mbeanServer

protected javax.management.MBeanServer mbeanServer

deploymentScope

protected DeploymentScope deploymentScope

cacheFactoryRegistry

protected CacheFactoryRegistry cacheFactoryRegistry

persistenceManagerFactoryRegistry

protected PersistenceManagerFactoryRegistry persistenceManagerFactoryRegistry

poolFactoryRegistry

protected PoolFactoryRegistry poolFactoryRegistry

objectName

protected javax.management.ObjectName objectName

reinitialize

protected boolean reinitialize
Constructor Detail

Ejb3Deployment

public Ejb3Deployment(org.jboss.deployers.structure.spi.DeploymentUnit deploymentUnit,
                      DeploymentUnit unit,
                      DeploymentScope deploymentScope,
                      org.jboss.metadata.ejb.jboss.JBossMetaData metaData)
Do not deploy persistence unit anymore.

Parameters:
deploymentUnit -
unit -
deploymentScope -
metaData -
Method Detail

getAppName

public java.lang.String getAppName()

canResolveEJB

@Deprecated
public boolean canResolveEJB()
Deprecated. 


getApplication

public JavaEEApplication getApplication()
Specified by:
getApplication in interface JavaEEModule

getEar

public DeploymentScope getEar()

getKernelAbstraction

public KernelAbstraction getKernelAbstraction()

getMbeanServer

public javax.management.MBeanServer getMbeanServer()

setMbeanServer

public void setMbeanServer(javax.management.MBeanServer mbeanServer)

getDeploymentUnit

public DeploymentUnit getDeploymentUnit()

getDefaultSLSBDomain

public java.lang.String getDefaultSLSBDomain()

getCacheFactoryRegistry

public CacheFactoryRegistry getCacheFactoryRegistry()

setCacheFactoryRegistry

public void setCacheFactoryRegistry(CacheFactoryRegistry registry)

getPersistenceManagerFactoryRegistry

public PersistenceManagerFactoryRegistry getPersistenceManagerFactoryRegistry()

setEJBReferenceResolver

public void setEJBReferenceResolver(org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolver resolver)
Deprecated. Use setEJBReferenceResolver(EjbReferenceResolver) instead

Parameters:
resolver -

setEJBReferenceResolver

public void setEJBReferenceResolver(org.jboss.ejb3.ejbref.resolver.spi.EjbReferenceResolver resolver)
Sets the EjbReferenceResolver to be used for resolving jndi names from an EjbReference

Parameters:
resolver -

getAsynchronousProcessor

public java.util.concurrent.ExecutorService getAsynchronousProcessor()

setMessageDestinationReferenceResolver

public void setMessageDestinationReferenceResolver(MessageDestinationReferenceResolver resolver)

setPersistenceManagerFactoryRegistry

public void setPersistenceManagerFactoryRegistry(PersistenceManagerFactoryRegistry registry)

setPersistenceUnitDependencyResolver

public void setPersistenceUnitDependencyResolver(org.jboss.jpa.resolvers.PersistenceUnitDependencyResolver resolver)

getPoolFactoryRegistry

public PoolFactoryRegistry getPoolFactoryRegistry()

setPoolFactoryRegistry

public void setPoolFactoryRegistry(PoolFactoryRegistry poolFactoryRegistry)

setProcessPersistenceUnits

@Deprecated
public void setProcessPersistenceUnits(boolean b)
Deprecated. processing persistence units is no longer supported, use jpa-deployers

Parameters:
b -

setDefaultSLSBDomain

public void setDefaultSLSBDomain(java.lang.String defaultSLSBDomain)
The default AOP domain for stateless session beans

Parameters:
defaultSLSBDomain -

getDefaultSFSBDomain

public java.lang.String getDefaultSFSBDomain()

getDefaultConsumerDomain

public java.lang.String getDefaultConsumerDomain()

setDefaultSFSBDomain

public void setDefaultSFSBDomain(java.lang.String defaultSFSBDomain)
The default stateful session bean aspect domain

Parameters:
defaultSFSBDomain -

getDefaultMDBDomain

public java.lang.String getDefaultMDBDomain()

setDefaultMDBDomain

public void setDefaultMDBDomain(java.lang.String defaultMDBDomain)
The default AOP domain for message driven beans.

Parameters:
defaultMDBDomain -

getDefaultServiceDomain

public java.lang.String getDefaultServiceDomain()

setDefaultServiceDomain

public void setDefaultServiceDomain(java.lang.String defaultServiceDomain)
default AOP domain for service beans.

Parameters:
defaultServiceDomain -

getJaccContextId

protected java.lang.String getJaccContextId()

getEjbContainerForEjbName

public EJBContainer getEjbContainerForEjbName(java.lang.String ejbName)
Get the deployment ejb container for the given ejb name.

Parameters:
ejbName - the deployment unique ejb name
Returns:
the ejb container if found, null otherwise
Throws:
java.lang.IllegalStateException - if the ejbName cannot be used to for the container name.

getContainer

public Container getContainer(javax.management.ObjectName name)
Specified by:
getContainer in interface Ejb3DeploymentMBean

getEjbContainers

public java.util.Map getEjbContainers()

getPersistenceUnitDeployments

@Deprecated
public java.util.List<?> getPersistenceUnitDeployments()
Deprecated. 


getEjbContainer

public EJBContainer getEjbContainer(java.lang.String ejbLink,
                                    java.lang.Class businessIntf)

getEjbJndiName

public java.lang.String getEjbJndiName(java.lang.String ejbLink,
                                       java.lang.Class businessIntf)

getEjbJndiName

public java.lang.String getEjbJndiName(java.lang.Class businessIntf)
                                throws javax.naming.NameNotFoundException
Throws:
javax.naming.NameNotFoundException

getEjbContainer

public EJBContainer getEjbContainer(java.lang.Class businessIntf)
                             throws javax.naming.NameNotFoundException
Throws:
javax.naming.NameNotFoundException

processEJBContainerMetadata

protected void processEJBContainerMetadata(Container container)
                                    throws java.lang.Exception
Throws:
java.lang.Exception

registerDeployment

protected void registerDeployment()
                           throws java.lang.Exception
Throws:
java.lang.Exception

unregisterDeployment

protected void unregisterDeployment()

registerEJBContainer

protected void registerEJBContainer(Container container)
                             throws java.lang.Exception
Throws:
java.lang.Exception

createPolicyConfiguration

protected abstract javax.security.jacc.PolicyConfiguration createPolicyConfiguration()
                                                                              throws java.lang.Exception
Throws:
java.lang.Exception

putJaccInService

protected abstract void putJaccInService(javax.security.jacc.PolicyConfiguration pc,
                                         DeploymentUnit unit)

getHandlers

protected java.util.Collection<InjectionHandler<org.jboss.metadata.javaee.spec.Environment>> getHandlers()
Return the container injection handler collection. If not specified(null) a default handler collection will be created.

Returns:
the injection handler collection to use, null if the container should use a default setup.

create

public void create()
            throws java.lang.Exception
Create all EJB containers and Persistence Units The only things that should be initialized is metadata that does not need access to any other deployment. This is because we want the entire EAR to be initialized so that we do not have to guess on dependencies MBean names. This is because of the silly scoping rules for persistence units and EJBs.

Specified by:
create in interface org.jboss.system.Service
Overrides:
create in class org.jboss.system.ServiceMBeanSupport
Throws:
java.lang.Exception

reinitialize

protected void reinitialize()
                     throws java.lang.Exception
Throws:
java.lang.Exception

start

public void start()
           throws java.lang.Exception
Specified by:
start in interface org.jboss.system.Service
Overrides:
start in class org.jboss.system.ServiceMBeanSupport
Throws:
java.lang.Exception

stop

public void stop()
Specified by:
stop in interface org.jboss.system.Service
Overrides:
stop in class org.jboss.system.ServiceMBeanSupport

deploy

protected void deploy()
               throws java.lang.Exception
Throws:
java.lang.Exception

deployUrl

protected void deployUrl(Ejb3HandlerFactory factory)
                  throws java.lang.Exception
Throws:
java.lang.Exception

deployElement

protected void deployElement(java.io.InputStream stream,
                             Ejb3HandlerFactory factory,
                             javax.naming.InitialContext ctx)
                      throws java.lang.Exception
Throws:
java.lang.Exception

deployBeansFromLib

protected void deployBeansFromLib(javax.naming.InitialContext ctx)
                           throws java.lang.Exception
Throws:
java.lang.Exception

deployElement

protected void deployElement(Ejb3HandlerFactory factory,
                             javassist.bytecode.ClassFile cf,
                             javax.naming.InitialContext ctx)
                      throws java.lang.Exception
Throws:
java.lang.Exception

createDependencyPolicy

public abstract DependencyPolicy createDependencyPolicy(JavaEEComponent component)

destroy

public void destroy()
Specified by:
destroy in interface org.jboss.system.Service
Overrides:
destroy in class org.jboss.system.ServiceMBeanSupport

resolveEJB

public java.lang.String resolveEJB(java.lang.String link,
                                   java.lang.Class<?> beanInterface,
                                   java.lang.String mappedName)

resolveMessageDestination

public java.lang.String resolveMessageDestination(java.lang.String link)

resolvePersistenceUnitSupplier

protected java.lang.String resolvePersistenceUnitSupplier(java.lang.String persistenceUnitName)

getEnterpriseBeanMetaData

protected <B extends org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData> B getEnterpriseBeanMetaData(java.lang.String ejbName,
                                                                                                           java.lang.Class<B> enterpriseBeanMetaDataClass)
Do not call, for use in Ejb3Handler.

Type Parameters:
B -
Parameters:
ejbName -
enterpriseBeanMetaDataClass -
Returns:

getMetaData

public org.jboss.metadata.ejb.jboss.JBossMetaData getMetaData()
Get the meta data associated with this deployment or null if none.

Returns:
meta data or null

getName

public java.lang.String getName()
Specified by:
getName in interface JavaEEModule
Specified by:
getName in interface org.jboss.system.ServiceMBean
Overrides:
getName in class org.jboss.system.ServiceMBeanSupport