[infinispan-dev] Uber jars - how do we want to use them

Sebastian Laskawiec slaskawi at redhat.com
Mon Mar 7 09:31:34 EST 2016


Hey!

Uber jars have been around for quite a while but some old problems are
still biting our ankles. The biggest problem is JBoss Logging... But before
diving into the technical discussion, I would like to clarify how do we
treat Uber Jars and how other (let's call them "extra") modules should
integrate with them...

How Uber Jars look like:

   - All Uber Jar dependencies are declared as:
      - provided - those are APIs which should be available on your
      container
      - optional - all other dependencies
      - compile - JTA (I'm not sure why, but probably because this is a
      required API). I think it should be changed to provided at some point.
   - Uber Jars have (almost) no dependencies (apart from JTA)
   - Uber Jars contain everything to get a standard application running
   with ISPN in a single jar

Now the biggest question is how to integrate other extra modules with them
- for example Spring or Cache Stores? Here are the options:

   - Not integrate at all... users should use standard (small) jars in such
   use cases
      - This one has a big impact on our users, so I would assume no
   - All extra modules should shade everything they need and provide their
   own Uber Jars (like Spring Uber Jar = ISPN Core + Spring)
      - This one might be really hard to maintain, so I would also vote for
      no.
   - All extra modules should integrate with small jars and Uber Jars (but
   not both at the same time). An example application might want to add
   Spring-embedded and Infinispan-embedded to it's classpath and it's ready to
   go. Alternatively it could add Spring-embedded + infinispan-core + whatever
   is needed. Adding both infinispan-embedded and infinispan-core is
   prohibited.
      - Easy for the users, a bit harder for us. My vote goes here.

Could you please share some thoughts whether this makes sense or not? Once
we achieve common understanding - I'll propose some technical solutions.

Thanks
Sebastian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20160307/24081d2c/attachment.html 


More information about the infinispan-dev mailing list