[jboss-as7-dev] Bundling content with deployments

Ales Justin ales.justin at gmail.com
Thu Jun 2 17:41:32 EDT 2011


OK, i think i see what you mean and how to do it.
I'll try to finish my Seam-int tomorrow.

Any suggestion how to change build.xml to create this bundled/ inside ales.deployer :) module?

> So we finally found the use case for copy content. It sounds all good to me.
> 
> On 6/2/11 3:22 PM, David M. Lloyd wrote:
>> I was chatting with Ales about his issues trying to incorporate a
>> seam-int module into a deployment, such that every deployment (which
>> bundles seam) would get a copy of those classes added to it.
>> 
>> So I thought I'd cover some options for a general approach to solving
>> this issue.
>> 
>> First, it is important to note that such content should NOT be made into
>> a static module.  Modules are only for JARs which only have a single
>> instance in the app server.
>> 
>> I think a good possible approach would be to define a resource root in a
>> (different) module which contains the JAR file itself as an opaque
>> resource, and then reference that resource when constructing the deployer.
>> 
>> In this example I'll have a fictional module called
>> "org.jboss.ales.deployer".
>> 
>> The module.xml for this module should look something like this:
>> 
>> <module xmlns="urn:jboss:module:1.0" name="org.jboss.ales.deployer">
>> 
>>      <resources>
>>          <resource-root path="bundled"/>
>>          <!-- Insert resources here -->
>>      </resources>
>> 
>>      <dependencies>
>>          <module name="org.jboss.as.controller"/>
>>          <module name="org.jboss.as.server"/>
>>          ...other modules here...
>>      </dependencies>
>> </module>
>> 
>> Then we deposit the nested seam-int JAR into the "bundled" subdirectory
>> of our module through some sort of build.xml modification, taking care
>> to use a predictable name for the JAR (as opposed to the long Maven name).
>> 
>> Having done this, code from the org.jboss.ales.deployer module can now
>> reliably acquire this file path:
>> 
>> File jarFile = new File(getClass().getResource("/seam-int.jar").toURI());
>> 
>> The File can then make its way to the deployment as a resource root,
>> thus creating a copy of the content in each deployment which our
>> deployer wishes to add it to.
>> 
>> Questions/comments?
> 
> 
> -- 
> Jason T. Greene
> JBoss, a division of Red Hat
> _______________________________________________
> jboss-as7-dev mailing list
> jboss-as7-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev



More information about the jboss-as7-dev mailing list