You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Jira)" <ji...@apache.org> on 2021/10/25 10:26:00 UTC
[jira] [Resolved] (CAMEL-17116) components - Loading resource from
classpath should use ClassResolver API
[ https://issues.apache.org/jira/browse/CAMEL-17116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen resolved CAMEL-17116.
---------------------------------
Resolution: Fixed
> 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
> Assignee: Ramu
> Priority: Major
> 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)