Hi,
while going through the docs, I noticed that we have a broken link in https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#auto-configuration-classes-from-actuator for IntegrationMetricsAutoConfiguration
because that's a non-public class.
I'm very much aware of the following:
NOTE: Even though auto-configuration classes are
public
, the only aspect of the class that is considered public API is the name of the class which can be used for disabling the auto-configuration. The actual contents of those classes, such as nested configuration classes or bean methods are for internal use only and we do not recommend using those directly.
So I was wondering if the class should be actually public
or what your thoughts are here. Unlike other autoconfiguration classes, you can't exclude it via IntegrationMetricsAutoConfiguration.class
. Obviously there are other ways to exclude them (by name or via property) so it's very very minor overall.
The docs currently just take everything from spring.factories
if I'm not mistaken, so we have no real idea if the class is public. Otherwise I would have just said that we filter out non-public classes in the table.
Cheers, Christoph
Comment From: snicoll
Thanks for the report. It is probably a mistake as an auto-configuration class should be public per the note you've shared.
Comment From: snicoll
Ah, now I remember. This is a corner case. It's not public because it is a workaround that got introduced as part of #24095.
Comment From: wilkinsona
IIRC, it was intentionally made package-private. Assuming that isn't causing a problem beyond the documentation, I think we should filter out non-public classes from the documentation. The changes in this branch will do that.
Comment From: wilkinsona
Re-opening as the changes have broken CI.