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.