Is it possible to configure a dynamic data source alias using a context variable?
For instance, I have a REST service that receives a request and then connect to a database using tDBInput. In this tDBInput there is an option to use a data source alias and I'm already using, but I would like to set the data source dinamically using a context variable.
When a fixed String is used in the data source alias it builds and the deployment in Talend Runtime is successfull.
But if a context variable is used instead, the following exception is thrown in Karaf log:
2019-12-18 00:44:40,135 | ERROR | rint Extender: 1 | BlueprintContainerImpl | 25 - org.apache.aries.blueprint.core - 1.8.3 | Unable to start blueprint container for bundle project.Clientes/1.0.0 due to unresolved dependencies [(&(osgi.jndi.service.name=context.Oracle_Data_Source_Alias)(objectClass=javax.sql.DataSource))]
java.util.concurrent.TimeoutException: null
at org.apache.aries.blueprint.container.BlueprintContainerImpl$1.run(BlueprintContainerImpl.java:370) [25:org.apache.aries.blueprint.core:1.8.3]
at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48) [25:org.apache.aries.blueprint.core:1.8.3]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
This error message describes that the tDBInput is not resolving the data source alias dinamically altough it was built and deployed in runtime with success. The message aroung the snippet "osgi.jndi.service.name=context.Oracle_Data_Source_Alias" is pointing that the job is treating this context variable Oracle_Data_Source_Alias as fixed String value instead of taking the variable value according with the context.
Is this the expected behavior or is it possible to use a context variable in the data source alias?