<div dir="ltr">Hey,<div><br></div><div>The change was introduced by this commit [1] and relates to this JIRAs [2][3]. The root cause is in [3].</div><div><br></div><div>Imagine a scenario where you add JCache module to your together infinispan-embedded. If your classpath was constructed in such a way that infinispan-embedded was before infinispan-core (classpath is scanned from left to right in standalone apps), we could get a relocated (uber jars move some classes into other packages) logger. That caused class mismatch errors. It is worth to mention that it will happen to all relocated classes, logger was just an example. And we need to relocate them, since a user might want to use his own, newer version of DMR or any other library. So there&#39;s no perfect solution here.</div><div><br></div><div>Now a lot of time passed since then and we changed quite a few things. So this topic probably needs to be revisited. </div><div><br></div><div>So the first question that we should ask, shall we allow putting jcache and infinispan-embedded together on the classpath. If the answer is yes, I believe it should stay as it is (since the user always have a choice whether he wants to use jcache with or without uber jar). The same question needs to be asked for Spring modules as well as all cache stores. The behavior needs to be consistent across all those modules.</div><div><br></div><div>If the answer is no (which is also valid because jcache is already present in embedded uber jar), we should migrate all JBoss Logging references to Infinispan Common Logging (as Tristan did here [4]) and we can make infinispan-core as a compile time dependency to jcache. Even though migrating to Infinispan logger is not necessary, this way we won&#39;t break users app which used infinispan-embedded + jcache approach. Of course the same applies to Spring and Cache stores modules.</div><div><br></div><div>I think the latter approach deserves some exploration. I would vote for moving that way.</div><div><br></div><div>Thanks,</div><div>Sebastian</div><div><br></div><div>[1] <a href="https://github.com/infinispan/infinispan/commit/720f158cce38d86b292e1ce77b75509342007739">https://github.com/infinispan/infinispan/commit/720f158cce38d86b292e1ce77b75509342007739</a></div><div>[2] <a href="https://issues.jboss.org/browse/ISPN-6295">https://issues.jboss.org/browse/ISPN-6295</a></div><div>[3] <a href="https://issues.jboss.org/browse/ISPN-6132">https://issues.jboss.org/browse/ISPN-6132</a></div><div>[4] <a href="https://github.com/infinispan/infinispan/pull/4140/files">https://github.com/infinispan/infinispan/pull/4140/files</a></div><div><br></div><div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jun 7, 2017 at 11:19 AM Galder Zamarreño &lt;<a href="mailto:galder@redhat.com">galder@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
Re: <a href="https://github.com/spring-projects/spring-boot/pull/9417#discussion_r120375579" rel="noreferrer" target="_blank">https://github.com/spring-projects/spring-boot/pull/9417#discussion_r120375579</a><br>
<br>
Stéphane makes a good point there, why did we make core provided dependency? It does feel a bit of a pain that anyone that depends on jcache embedded also needs to depend on core.<br>
<br>
Any more details behind this decision?<br>
<br>
Cheers,<br>
--<br>
Galder Zamarreño<br>
Infinispan, Red Hat<br>
<br>
</blockquote></div></div></div><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr"><p class="inbox-inbox-fullname-container" style="box-sizing:border-box;color:rgb(0,0,0);font-family:overpass,sans-serif;font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span class="inbox-inbox-firstname-container" style="box-sizing:border-box">SEBASTIAN</span><span class="inbox-inbox-Apple-converted-space"> </span><span class="inbox-inbox-lastname-container" style="box-sizing:border-box">ŁASKAWIEC</span></p><p class="inbox-inbox-position-container" style="box-sizing:border-box;color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:10px;margin:0px 0px 4px;text-transform:uppercase"><span class="inbox-inbox-position" style="box-sizing:border-box">INFINISPAN DEVELOPER</span></p><p class="inbox-inbox-legal-container" style="box-sizing:border-box;font-family:overpass,sans-serif;margin:0px;font-size:10px;color:rgb(153,153,153)"><a class="inbox-inbox-redhat-anchor" href="https://www.redhat.com/" target="_blank" style="box-sizing:border-box;color:rgb(0,136,206);margin:0px;text-decoration:none">Red Hat<span class="inbox-inbox-Apple-converted-space"> </span><span style="box-sizing:border-box">EMEA</span></a></p><table border="0" style="box-sizing:border-box;color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"><tbody style="box-sizing:border-box"><tr style="box-sizing:border-box"><td width="100px" style="box-sizing:border-box"><a href="https://red.ht/sig" style="box-sizing:border-box"><img width="90" height="auto" style="box-sizing: border-box;" src="https://www.redhat.com/files/brand/email/sig-redhat.png"></a></td></tr></tbody></table></div></div>