Agree: I should not have changed on 5.16.x, keep it for 5.17.x.

Now that it has been released, I think the best approach is to provide both
spec bundles.

Let me test and create PR.

Regards
JB

Le mar. 21 juin 2022 à 16:07, Robbie Gemmell <robbie.gemm...@gmail.com> a
écrit :

> The obvious "why not" answer would be however easy it is, its perhaps
> not so obvious to people, and it certainly doesnt seem like it should
> be necessary. Those with things which only use JMS 1.1 and previously
> worked with <=5.16.2 (its not just 5.15.x upgraders affected) would
> not typically expect to be broken by a simple update to using 5.16.3+,
> or to necessarily understand they can work around the feature problem
> by using the JMS 2 spec when their stuff isnt using that and they are
> still clearly using a client implementing 1.1.
>
> If having both versions provided is possible, fixes simple upgrades
> for all the existing JMS 1.1 users on <= 5.16.2, and still allows
> those already working with JMS 2 to use it as now, then that would
> seem a reasonable middle ground. The spec jar isnt exactly a monstrous
> overhead after all, especially not compared to the client feature
> already supplying [most of] the broker etc.
>
> Or, you suggested earlier what would happen currently is it would only
> use/supply 2.0 unless something provided 1.1 first. Can it do the
> reverse, i.e can it provide 1.1 as it did before but still allow for
> using 2 if already supplied, falling back to using its provided 1.1 if
> they dont?
>
>
> On Tue, 21 Jun 2022 at 14:01, Jean-Baptiste Onofré <j...@nanthrax.net>
> wrote:
> >
> > OK, now I understand the confusion:
> >
> > Karaf activemq-client feature uses activemq-osgi bundle, not
> > activemq-client bundle. The activemq-client bundle is not used at all
> > in the Karaf features: we use the activemq-osgi uber bundle.
> >
> > So, if a user uses activemq-client bundle (without the feature), it
> > will have to install geronimo-spec-jms 1.1 bundle:but nothing changed
> > there, it's as it was before.
> >
> > Now, strictly speaking of the activemq-client karaf feature, it's fine
> > as it uses activemq-osgi bundle, with the javax.jms,version="[1.1,3)"
> > range.
> >
> > Regarding Art's issue, the problem is that activemq-client karaf
> > feature provides JMS 2.0 by default, but Art's bundle still import
> > [1.1,2) (not [1.1,3)).
> >
> > I see three options here:
> > 1. Art can fix his bundles header to use the extended range [1.1,3).
> > 2. The user who wants to still use JMS 1.1, they can stay with ActiveMQ
> 5.15.x
> > 3. The user who wants to still use JMS 1.1, we can add geronimo-spec
> > jms 1.1 in activemq-client karaf feature, meaning that we will have
> > both JMS 1.1 and 2.0 packages at runtime.
> >
> > Honestly, why not extending the range, easy to do and it works fine
> > (it's what Karaf and Camel are using) ?
> >
> > Regards
> > JB
> >
> >
> >
> >
> >
> >
> > On Tue, Jun 21, 2022 at 1:53 PM Jean-Baptiste Onofré <j...@nanthrax.net>
> wrote:
> > >
> > > I tested at runtime on activemq-osgi bundle used by activemq-client.
> > >
> > > The feature verify would not work with this range.
> > >
> > > Let me take a look but I doubt it's the case.
> > >
> > > On Tue, Jun 21, 2022 at 11:53 AM Robbie Gemmell
> > > <robbie.gemm...@gmail.com> wrote:
> > > >
> > > > The javax.jms; version="[1.1,2)" value I quoted was directly from the
> > > > Import-Package manifest entry of the 5.16.3 and 5.16.5
> activemq-client
> > > > jars on maven central. On checking 5.17.1 it lists the same.
> > > >
> > > > On Tue, 21 Jun 2022 at 09:56, Jean-Baptiste Onofré <j...@nanthrax.net>
> wrote:
> > > > >
> > > > > activemq-client 5.16.3 does use the right range:
> > > > >
> > > > >    javax.jms;version="[1.1,3)",
> > > > >
> > > > > Else it won't work.
> > > > >
> > > > > And by the way, before the change, I sent a couple of messages on
> the
> > > > > mailing list as a discussion thread.
> > > > >
> > > > > Regards
> > > > > JB
> > > > >
> > > > > On Tue, Jun 21, 2022 at 10:37 AM Robbie Gemmell
> > > > > <robbie.gemm...@gmail.com> wrote:
> > > > > >
> > > > > > I believe the 5.16.x client doesnt have the below, instead
> saying:
> > > > > >     javax.jms; version="[1.1,2)"
> > > > > > despite the Feature only supplying the 2.0 version which appears
> > > > > > incompatible with this. Maybe thats whats tripping Art's usage up
> > > > > > since he was clearly using <= 5.16.2 before?
> > > > > >
> > > > > > On Tue, 21 Jun 2022 at 09:24, Jean-Baptiste Onofré <
> j...@nanthrax.net> wrote:
> > > > > > >
> > > > > > > By the way, you can see in activemq-client:
> > > > > > >
> > > > > > >     javax.jms;version="[1.1,3)",
> > > > > > >
> > > > > > > So:
> > > > > > > 1. if your application uses the same range, it works
> > > > > > > 2. if your application use [1.1,2), than, simple add javax.jms
> > > > > > > (geronimo) 1.1 bundle
> > > > > > >
> > > > > > > Regards
> > > > > > > JB
> > > > > > >
> > > > > > > On Mon, Jun 20, 2022 at 7:45 PM Arthur Naseef <a...@amlinv.com>
> wrote:
> > > > > > > >
> > > > > > > > I created the following ticket to address applications
> failing to load into
> > > > > > > > Karaf with AMQ 5.16.3 - 5.17.1 due to an incompatible change
> in the
> > > > > > > > activemq-client feature.
> > > > > > > >
> > > > > > > > https://issues.apache.org/jira/browse/AMQ-8971
> > > > > > > >
> > > > > > > >
> > > > > > > > Looks to me like the right fix here is to revert the change
> to the JMS 1.1
> > > > > > > > spec in the feature because all of the AMQ internals are
> still 100% on the
> > > > > > > > JMS 1.1 spec.  The maven-bundle-plugin for client
> applications is doing the
> > > > > > > > right thing by generating "Package-Import" lines with
> version range
> > > > > > > > "1.1,2.0)", but the feature doesn't match it.
> > > > > > > >
> > > > > > > > It seems we have sacrificed the core case to solve an edge
> case.
> > > > > > > >
> > > > > > > > Thoughts?
> > > > > > > >
> > > > > > > > Art
>

Reply via email to