Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-14222

Undo ISPN-12342 Add Dependencies Manifest header to Spring artifacts

XMLWordPrintable

      The change introduced by ISPN-12342, while it may appear to be a good idea, is actually conterproductive and causes issues with deployments at WildFly/JBoss EAP if Infinispan is bundled in the war/ear.

      In these cases it's impossible to use the application-bundled Infinispan because the Dependencies entries in the MANIFEST.MF files cause the WildFly/JBoss to always add the server provided one to the application classpath and prefer it.

      The server provided Infinispan is private (hidden from the application) by default and for a good reason - it isn't supposed to be used by the application directly - see https://access.redhat.com/solutions/281643 and https://access.redhat.com/articles/2158031

      But more importantly, the server-provided one is often at version different (typically older) than desired (and it can't be changed as it's tied to the actual application server) which makes things difficult especially when one needs to use the more recent version.

      For now we have to modify the infinispan-spring5-common and infinispan-spring5-embedded jars (we don't use the 3rd one infinispan-spring5-remote, but it's also affected of course) and remove the Dependencies entries from their manifest files in order to avoid the mentioned issue. There doesn't appear to be any way how to make the app server ignore these Dependencies entries or how to override them somehow.

       

      I believe all this is unnecessary because if these Dependencies entries wouldn't exist, then:

      • all such issues with the server-provided Infinispan conflicts would go away
      • if someone would still want to use the server-provided Infinispan, they can simply do ii by adding the dependencies entry (entries) to the war/ear jboss-deployment-structure.xml file, so it's easily customizable (we do such things exactly this way ourselves)

       

      We'd appreciate if it could be fixed into the 13.0.x branch as well (we still use it due to its Java 8 support).

      The pull request that introduced these problematic Dependencies entries: https://github.com/infinispan/infinispan/pull/8704

              ttarrant@redhat.com Tristan Tarrant
              petr.hostalek@bsc-ideas.com Petr Hostalek (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: