[jboss-user] [Microcontainer] - Re: MC picking up irrelevant deployers

jaikiran do-not-reply at jboss.com
Tue Jun 9 06:01:41 EDT 2009


"emuckenhuber" wrote : Yes, setInput() marks the Input as required and addInput() is just used for ordering. 
  | 

So this raises the next question - what is setInputs() for? I believe for marking multiple inputs as "required". For example ABCDeployer requires InputA *and* InputB for it to be considered relevant:

public ABCDeployer()
  | {
  |  setInputs("InputA","InputB");
  |  
  | ...
  | }
  | 
and internally AbstractDeployer.setInputs() does this:

  | public void setInputs(Set<String> inputs)
  |    {
  |       this.inputs = inputs;
  |    }

So going by the code of isRelevant(...) that i posted earlier, this deployer will be considered relevant even when none of InputA or InputB are available.


As for the EJB3Deployer i tried as you suggested:

public Ejb3Deployer()
  |    {
  |       setInput(JBossMetaData.class); // additional constraint
  |       addInput(MergedJBossMetaDataDeployer.EJB_MERGED_ATTACHMENT_NAME);
  | 

and it works (i.e. the irrelevant deployments are no longer picked up). But i have to do bit more testing to ensure that this deployer is picked at the right time/order (i.e. after the MergedJBossMetadataDeployer is run for the deployment unit)

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

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



More information about the jboss-user mailing list