Claus Ibsen created CAMEL-17116:
-----------------------------------

             Summary: components - Loading resource from classpath should use 
ClassResolver API
                 Key: CAMEL-17116
                 URL: https://issues.apache.org/jira/browse/CAMEL-17116
             Project: Camel
          Issue Type: Improvement
            Reporter: Claus Ibsen
             Fix For: 3.13.0


See CAMEL-17114

There are a number of components that load resources from classpath as:

{code}
camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java:
        return 
Thread.currentThread().getContextClassLoader().getResourceAsStream(uri);
camel-jbpm/src/main/java/org/apache/camel/component/jbpm/server/CamelKieServerExtension.java:
            try (InputStream is = 
this.getClass().getResourceAsStream("/global-camel-routes.xml")) {
camel-jbpm/src/main/java/org/apache/camel/component/jbpm/server/CamelKieServerExtension.java:
        try (InputStream is = 
classloader.getResourceAsStream("camel-routes.xml")) {
camel-jira/src/main/java/org/apache/camel/component/jira/oauth/OAuthAsynchronousHttpClientFactory.java:
            try (InputStream resourceAsStream = 
AuthenticationHandler.class.getResourceAsStream(pomProps)) {
camel-jslt/src/main/java/org/apache/camel/component/jslt/JsltEndpoint.java:     
               stream = 
JsltEndpoint.class.getClassLoader().getResourceAsStream(getResourceUri());
camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java:
            InputStream is = 
StdSchedulerFactory.class.getClassLoader().getResourceAsStream("org/quartz/quartz.properties");
camel-schematron/src/main/java/org/apache/camel/component/schematron/processor/ClassPathURIResolver.java:
                .getResourceAsStream(rulesDir.concat("/").concat(href));
camel-schematron/src/main/java/org/apache/camel/component/schematron/processor/TemplatesFactory.java:
                InputStream xsl = 
this.getClass().getClassLoader().getResourceAsStream(path);
camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XmlSignatureHelper.java:
        return XmlSignatureHelper.class.getResourceAsStream(path);
{code}

Instead we should use ClassResolver API via CamelContext - This has the 
mehanism to load correctly in different runtimes - standalone, OSGi, spring 
boot, quarkus etc.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to