private static void registerCamelServices()

in core/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/aot/CamelRuntimeHints.java [65:97]


    private static void registerCamelServices(RuntimeHints hints, ClassLoader classLoader) {
        hints.resources().registerPattern("META-INF/services/org/apache/camel/*");
        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(classLoader);
        try {
            for (Resource resource : resolver.getResources("classpath*:META-INF/services/org/apache/camel/**")) {
                String filename = resource.getFilename();
                if (filename == null || filename.isBlank() || filename.endsWith(".properties")) {
                    continue;
                }
                try (BufferedReader reader = new BufferedReader(new StringReader(resource.getContentAsString(StandardCharsets.UTF_8)))) {
                    String line = reader.readLine();
                    String prefixClass = "class=";
                    while (line != null) {
                        if (line.startsWith("#") || line.isBlank()) {
                            line = reader.readLine();
                            continue;
                        }
                        String className = line.trim();
                        if (line.startsWith(prefixClass)) {
                            className = line.substring(prefixClass.length());
                        }
                        LOG.debug("Found the class {} to register", className);
                        registerClassHierarchy(hints, classLoader, className, MemberCategory.INVOKE_PUBLIC_CONSTRUCTORS,
                                MemberCategory.INVOKE_DECLARED_METHODS, MemberCategory.INVOKE_PUBLIC_METHODS,
                                MemberCategory.INTROSPECT_DECLARED_METHODS, MemberCategory.INTROSPECT_PUBLIC_METHODS);
                        line = reader.readLine();
                    }
                }
            }
        } catch (IOException e) {
            LOG.debug("Could not load the Camel services: {}", e.getMessage());
        }
    }