Raymond created CAMEL-20550:
-------------------------------
Summary: Universal way to load resources
Key: CAMEL-20550
URL: https://issues.apache.org/jira/browse/CAMEL-20550
Project: Camel
Issue Type: Improvement
Affects Versions: 4.4.0
Reporter: Raymond
Currently, the way resources are handled is fairly standardized. If a component
uses a resourceURI then these resources can be loaded from classpath, file,
http, ref, or bean.
Still, there are some differences in the way they are loaded:
1. Some components allow to load a resource dynamically from *header*
2. Some components allow to load a resource as *expression*
3. Some have resourceType://path, while others have resource:resourceType:path
For example:
1. Groovy can be loaded as “expression” from a string or from resource like
this:
resource:classpath:mygroovy.groovy
2. Some components allow resource, but enable by header
xslt and velocity have resource by default, but also allow to enable to use
header
3. Some only allow resourceUri
For example jsonata
-------------------------------------------
I would like that every component allows:
1. Load from expression (string)
2. Load from resource (uri)
3. Load from metadata (header, property, variable)
There could be a universal query param "allowDynamicResource". This means it
can load during runtime (either be updating metadata or by updating resource).
I also would like an easier registry to handle String resources persistently
(now I use an external hosting for resource files as classpath/beans/file are
not dynamic enough):
context.getRegistry().bind("id","resourceAsString");
or
context.setResource("id","resourceAsString");
--
This message was sent by Atlassian Jira
(v8.20.10#820010)