[jboss-user] [Microcontainer] - Re: Ordering a deployer which needs multiple inputs

jaikiran do-not-reply at jboss.com
Fri Mar 13 05:38:04 EDT 2009


Okay, i have found the culprit - thanks to the logs you asked for. The EjbModuleDeployer (a.k.a SecondDeployer) even though it attaches the Ejb3Deployment to the unit, it never declares/exposes it as an output (i.e. doesn't addOutput):


  | public class EjbModuleDeployer...
  | {
  | 
  |   public EjbModuleDeployer()
  |   {
  |     addOutput(JBossEnterpriseBeanMetaData.class);
  |     addOutput(BeanMetaData.class);
  | 
  |     // Jaikiran: The Ejb3Deployment is not set as an output
  |     // even though this deployer adds it as an attachment to the unit. see  below
  |   }
  | 
  |   public void deploy(DeploymentUnit unit)
  |   {
  |     // do some stuff
  |     
  |     // Add Ejb3Deployment to unit (even though the deployer doesn't declare this as an output)
  |     unit.addAttachment(Ejb3Deployment.class,obj);
  |   }
  | 
  |   ...
  | }
  | 
Adding a addOutput(Ejb3Deployment.class) should fix this issue for me. I believe the ordering of the deploying is done based on the input/output of various deployers.

But, i still think MC should have handled this differently (not complaining ;-) ). The FinalDeployer was expecting 2 inputs and until the 2 inputs were available, it shouldn't have been invoked.

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

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



More information about the jboss-user mailing list