Multiple jandex maven plugin (JBoss vs SmallRye)

505 views Asked by At

I use Weld on a Java SE application, and I was wondering if generate the Jandex index at build with a plugin will improve the startup. For now, I didn't notice a performance improvement.

But i found 2 plugins for generating the index:

https://github.com/smallrye/jandex

and

https://github.com/wildfly/jandex-maven-plugin

Any idea witch one to use?

Thanks!

1

There are 1 answers

0
Siliarus On

For now, I didn't notice a performance improvement.

This would only be noticeable for large deployments. The reasoning behind it is that having a Jandex index makes it possible to skip the discovery phase via reflection and instead allow Weld to browse a pre-built index. That being said, there is no harm in using Jandex even on smaller deployments, it's just that the difference won't really be noticeable.

Any idea which one to use?

Short answer is - as of Jul 2022, if you want the maven plugin variant, use the WildFly one. If you want core artifact, use the one with org.jboss.jandex artifact group ID.

Longer answer is - the SmallRye one is the original repo, recently migrated from https://github.com/wildfly/jandex to https://github.com/smallrye/jandex. It holds the sources of what used to be org.jboss.jandex artifact group ID (and is now io.smallrye). It also has maven plugin module but there is no public release yet and it will be a major version bump as well. Therefore, going forward, there will be an artifact groud ID change but otherwise it will retain the same artifact ID and it will all be hosted in one repo.