[jboss-dev-forums] [Design the new POJO MicroContainer] - Precedence

adrian@jboss.org do-not-reply at jboss.com
Fri Jun 29 06:26:00 EDT 2007


"bill.burke at jboss.com" wrote : How do you define precedence rules for deployer ordering?  For example, let's take a hypothetical Seam deployer that needs to augment an EJB deployment based on additional metadata within the deployment unit.  It needs to happen after EJB XML and Annotation processing, but before component processing.
  | 
  | I liked the install/uninstall approach (see below if you dont' know what I'm talking about) because we could have added precedence metadata to the addDeployer method.  Precendence metadata like, I have to come before the EJB component processing, but after the XML/annotation processing.
  | 
  | 
  |   | <install bean="MainDeployer" method="addDeployer">
  |   |    <parameter><this/></parameter>
  |   | </install>
  |   | <uninstall bean="MainDeployer" method="removeDeployer">
  |   |    <parameter><this/></parameter>
  |   | </uninstall>
  |   | 
  | 
  | 

See the part where I describe attachment flows.
For your example (assuming JMX components) you would do something like:

  | public MySeamDeployer extends AbstractSimpleRealDeployer<SeamMetaData.class>
  | {
  |    public MySeamDeployer()
  |    {
  |       // We are after everything that creates and modifies SeamMetaData
  |       super(SeamMetaData.class);
  | 
  |       // We need the EJB deployment and Annotation metadata
  |       setInputs(EJB3Deployment.class, AnnotationCache.class);
  |       // We output a -service.xml description so we are before that deployer
  |       setOutputs(ServiceDeploymentMetaData.class);
  |    }
  | }
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4059100#4059100

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4059100



More information about the jboss-dev-forums mailing list