Flavia Rainone [http://community.jboss.org/people/flavia.rainone%40jboss.com] 
replied to the discussion

"Implementing a non-flat deployment for Weld Integration"

To view the discussion, visit: http://community.jboss.org/message/546115#546115

--------------------------------------------------------------
> Pete Muir wrote:
> 
> > I've been thinking about correctness all this time. If somebody places a 
> > jar in lib and expects that the beans are created upfront when AS starts, 
> > then this would not work using your approach.
> 
> 
> Ok, I think we've got crossed wires. You can't deploy a library jar in some 
> "context" outside a deployment. The beans don't get created or anything 
> outside the context of a deployment.
> 
> 
> 
> Another way to think of it is that a library in default/lib with a beans.xml 
> in it works just like a library in WEB-INF/lib.
In that case, why the lazy approach wouldn't work?

>From what I can see, if it works just like a library in WEB-INF/lib, it means 
>that we will need to provide a BDA for a lib jar only when Weld requests for 
>one through loadBeanDeploymentArchive, right?

Or, if I'm wrong, do you mean that a BDA for every lib jar with a 
META-INF/beans.xml should be provided as direct or indirect result of 
BeanDeploymentArchive.getBeanDeploymentArchives() for every BDA in a Deployment?
Explaining better, given commos/lib/mylib.jar with the following structure:
mylib.jar
  |_
      META-INF/beans.xml
  |_
     whatever classes in here

Say we create a BDA upfront, let's call it MY_LIB_BDA, and add this BDA to 
DefalutDomain Classpath. No deployment is created upfront.

Now, say my-ejb.jar with a META-INF/beans.xml file is deployed to deploy dir. 
We create a Deployment for it, of course, and we create a BDA for it as well. 
This BDA, called MY_EJB_BDA, belongs to Default Domain Classpath. So, when Weld 
invokes MY_EJB_BDA.getBDAs(), it should , directly on indirectly (i.e., by 
walking on the BDA graph structure), reach MY_LIB_BDA?

This is different from the lazy approach in which you are not required to call 
loadBeanDeploymentArchive in order to obtain MY_LIB_BDA.

Is that what Weld requires us to do?

> Pete Muir wrote:
> 
> > Flavia Rainone wrote:
> > 
> > > Ales Justin wrote:
> > > 
> > > Why the rush? :-)
> > > If you ask me, I would do it lazily aka on_demand.
> > > 
> > > Scanning the whole common/lib is gonna be slow,
> > > and imo, people should not be using libs to deploy Weld components -- 
> > > simply put them in deploy/.
> > > 
> > > Or why would you do it upfront?
> Because the Java EE/CDI specs require it.


BTW, I've read the spec sometime ago. Of course I don't remember all the 
details so, if you think rereading some specific part of it might be useful, 
let me know.

--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/546115#546115]

Start a new discussion in JBoss Microcontainer Development POJO Server at 
Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2116]

_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to