My latest attempt to upgrade SmallRye Reactive Messaging failed in the
WildFly Preview testsuite.
After some investigation, I found the cause to be that they now include the
jandex index in their jars. This index contains javax annotations to define
the CDI beans. If Weld finds a jandex index, it will use that. However, in
EE9 preview mode, it searches for jakarta annotations in that index.The end
result was that no CDI beans were found in the Reactive Messaging provider
jar.
I've worked around this in my
https://github.com/wildfly/wildfly/pull/14953,
by adding a method to WeldCapability to ignore the precalculated jandex
index for modules containing jars with a jandex index.
I am mentioning this because the jandex index was added to help with some
build time config checking for Quarkus. So it would not surprise me if
other SmallRye projects, and maybe other projects consumed by Quarkus
follow suit.
My changes have not been reviewed yet, so there might be some small
changes but the overall concept will most likely be kept.
Thanks,
Kabir