They are private because we do not make API compatibility guarantees across releases (major, minor, or micro).
Sorry, I should have been more clear. I understand what a private module is. But can you comment on the Spring issue? Do you have any suggestions on how to cleanly use Infinispan's Spring library when all of the Infinispan modules in Wildfly are private? All of the APIs expect various Infinispan classes, which (because they are private) are not visible to my code.
As Paul said,
all those modules are safe to use by your application, but such modules do not guarantee compatibility across versions of WildFly.
or in more piratical terms, you get your application working with infisinspan that is shipped with WildFly 17, but lets say that hypothetically in WildFly 18, infinispan is upgraded to new major version that can have some breaking changes in comparison to infinispan shipped with WildFly 17.
So you would need to be careful when upgrading version of WildFly if your app depends on specific versions of infisispan in said version of WildFly.
Usually that just means you need to align shipped jars (like infinispan-spring5-embed) to match version to one provided in server.
This is exactly what we have done - I was just wondering if there was a better way.
Thanks for your help.