<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: tcontextLoad in routes in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370220#M133293</link>
    <description>&lt;P&gt;Talend ESB is essentially just a wrapper around Apache Camel. You can configure most of what you will need to configure within the Studio, but it might make sense to configure either a Blueprint or Spring file with DB connection pooling ,etc, and deploy that manually inside the Karaf. You may/may not have seen this, but you can make use of Spring within the Studio. There will be a Spring file for each of your Routes. Sometimes this is hidden, but it is definitely there.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I tend to spend most of my time looking at Camel documentation when I am working with Routes within Talend. The big benefit of Talend is that you can create Talend jobs and use them with Routes. Other than that, you are essentially working with Camel.&lt;/P&gt;</description>
    <pubDate>Tue, 19 Dec 2017 17:50:54 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2017-12-19T17:50:54Z</dc:date>
    <item>
      <title>tcontextLoad in routes</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370217#M133290</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;I know you can use a tContext Component in a job or the implicit tContextLoad functionality to load context variables from a file.&lt;/P&gt;&lt;P&gt;I was wondering how you would do the equivalent inside a talend route?&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;n999&lt;/P&gt;</description>
      <pubDate>Sat, 16 Nov 2024 08:56:22 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370217#M133290</guid>
      <dc:creator>n999</dc:creator>
      <dc:date>2024-11-16T08:56:22Z</dc:date>
    </item>
    <item>
      <title>Re: tcontextLoad in routes</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370218#M133291</link>
      <description>&lt;P&gt;This is MUCH harder inside routes. You need to use Property Placeholders. There is no easy way to do this other than spending a while trying it out. Take a look here:&amp;nbsp;&lt;A href="http://edwardost.github.io/cloud/platform/soa/2015/05/14/Working-with-Property-Placeholders-in-Talend-ESB/" target="_blank" rel="nofollow noopener noreferrer"&gt;http://edwardost.github.io/cloud/platform/soa/2015/05/14/Working-with-Property-Placeholders-in-Talend-ESB/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That tutorial is what got me going with these. Once you get the hang of it, it is really powerful.&lt;/P&gt;</description>
      <pubDate>Tue, 19 Dec 2017 17:23:20 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370218#M133291</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-12-19T17:23:20Z</dc:date>
    </item>
    <item>
      <title>Re: tcontextLoad in routes</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370219#M133292</link>
      <description>&lt;P&gt;thanks for that - very useful&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm a java developer versed in Spring so this makes more sense that context loading.&lt;/P&gt;
&lt;P&gt;I'm assuming I can use the same project level property file for context loading and property placeholder for jobs and routes within one project...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Would be interesting to see what Talend's official line is too....I couldn't find anything in help.talend.com...maybe they defer to spring/camel set up...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 19 Dec 2017 17:30:12 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370219#M133292</guid>
      <dc:creator>n999</dc:creator>
      <dc:date>2017-12-19T17:30:12Z</dc:date>
    </item>
    <item>
      <title>Re: tcontextLoad in routes</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370220#M133293</link>
      <description>&lt;P&gt;Talend ESB is essentially just a wrapper around Apache Camel. You can configure most of what you will need to configure within the Studio, but it might make sense to configure either a Blueprint or Spring file with DB connection pooling ,etc, and deploy that manually inside the Karaf. You may/may not have seen this, but you can make use of Spring within the Studio. There will be a Spring file for each of your Routes. Sometimes this is hidden, but it is definitely there.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I tend to spend most of my time looking at Camel documentation when I am working with Routes within Talend. The big benefit of Talend is that you can create Talend jobs and use them with Routes. Other than that, you are essentially working with Camel.&lt;/P&gt;</description>
      <pubDate>Tue, 19 Dec 2017 17:50:54 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370220#M133293</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-12-19T17:50:54Z</dc:date>
    </item>
    <item>
      <title>Re: tcontextLoad in routes</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370221#M133294</link>
      <description>&lt;P&gt;Thanks for that.&lt;/P&gt; 
&lt;P&gt;Looks like you can run routes as spring boot apps too! &lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009MACn.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/154443iC5B8CACEF3D12C6A/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009MACn.png" alt="0683p000009MACn.png" /&gt;&lt;/span&gt;&lt;/P&gt; 
&lt;P&gt;Will experiment...hoping to leverage spring boot's use of convention over configuration, with application.properties and application-[profile].properties, to load props for routes. And then use these property files for loading up contexts in jobs using a bespoke tContextLoad job(let)&lt;/P&gt; 
&lt;P&gt;Cheers for your advise.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Dec 2017 09:56:01 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370221#M133294</guid>
      <dc:creator>n999</dc:creator>
      <dc:date>2017-12-20T09:56:01Z</dc:date>
    </item>
    <item>
      <title>Re: tcontextLoad in routes</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370222#M133295</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have gone through your conversation and the link. We do have a requirement to pass parameters to a rout through a external file or source.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://edwardost.github.io/cloud/platform/soa/2015/05/14/Working-with-Property-Placeholders-in-Talend-ESB/" target="_blank" rel="nofollow noopener noreferrer"&gt;http://edwardost.github.io/cloud/platform/soa/2015/05/14/Working-with-Property-Placeholders-in-Talend-ESB/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Couldn't understand in detail the procedure to pass the parameters using property place holders. Do you have any other video or blog with steps in detail?&lt;/P&gt;</description>
      <pubDate>Wed, 29 Aug 2018 01:43:42 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370222#M133295</guid>
      <dc:creator>ravi999</dc:creator>
      <dc:date>2018-08-29T01:43:42Z</dc:date>
    </item>
    <item>
      <title>Re: tcontextLoad in routes</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370223#M133296</link>
      <description>&lt;P&gt;Hi Richard&lt;/P&gt; 
&lt;P&gt;This is an oldie but a goodie. &lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009MACn.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/154443iC5B8CACEF3D12C6A/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009MACn.png" alt="0683p000009MACn.png" /&gt;&lt;/span&gt;&lt;/P&gt; 
&lt;P&gt;I'm only looking at this now(!) and have a quick question please.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I've read the post and can understand how you can load all properties(inc talend context props if desired) into the camel context and then refer to them using the camel curly brackets notation.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I've got something working that loads props from a file and adds then to the camel context.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;However in something like a cMQConnectionFactory studio component, the curly brackets cause an error when used in the fields (ie broker uri, username and password). It look like you can only use Talend Context variables in the studio component?&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Also it doesn't seem possible to override Talend Context variables programmatically (using context.setProperty() ) based on what the talend generated code in&amp;nbsp;&lt;SPAN&gt;readContextValues(contextStr) does.....?&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN&gt;Not sure if I'm missing something - Wondering if it's possible to set cMQConnectionFactory and other component values using camel/overridden talend context values or do you have to write camel DSL to create the&amp;nbsp;MQ ConnectionFactory to be able to load in properties?&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN&gt;cheers&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN&gt;n&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Jan 2020 10:49:39 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370223#M133296</guid>
      <dc:creator>n999</dc:creator>
      <dc:date>2020-01-09T10:49:39Z</dc:date>
    </item>
    <item>
      <title>Re: tcontextLoad in routes</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370224#M133297</link>
      <description>&lt;P&gt;Hmmm&lt;/P&gt; 
&lt;P&gt;It does seem possible to update Talend Context Values in a cConfig using the setProperty method by&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;PRE&gt;//override context_param value
context_param.setProperty(name, value);
//refresh talend context with context_params
readContextValues(contextStr);&lt;/PRE&gt; 
&lt;P&gt;Then context.name has the overridden value...&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;feels a bit brittle......would be interested to know if I'm missing something as per my earlier post today &lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009MACn.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/154443iC5B8CACEF3D12C6A/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009MACn.png" alt="0683p000009MACn.png" /&gt;&lt;/span&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Jan 2020 11:08:26 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370224#M133297</guid>
      <dc:creator>n999</dc:creator>
      <dc:date>2020-01-09T11:08:26Z</dc:date>
    </item>
    <item>
      <title>Re: tcontextLoad in routes</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370225#M133298</link>
      <description>&lt;P&gt;I believe the problem you are experiencing here is ultimately that you cannot change endpoints (or values like that) while a route is running. You can find ways around this by programmatically shutting down the route, making the changes to the variable values and then restarting, but that is about the best you can do. I spent days trying to get around this limitation, but there really is no other way than what I briefly recommended above. If you need to change your&amp;nbsp;&lt;SPAN&gt;cMQConnectionFactory values at runtime, you will need to have another process to take your route down, make the change and then bring the route back up again. It is better to find alternative solutions like having more than 1 route in my opinion&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Jan 2020 10:45:26 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370225#M133298</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-01-10T10:45:26Z</dc:date>
    </item>
    <item>
      <title>Re: tcontextLoad in routes</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370226#M133299</link>
      <description>&lt;P&gt;hi - thnx for the reply&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;"&lt;SPAN&gt;If you need to change your&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;cMQConnectionFactory values at runtime,"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;It's more about *initially* setting them from a file at runtime and in the studio, rather than changing them.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The link&amp;nbsp;&lt;A href="http://edwardost.github.io/cloud/platform/soa/2015/05/14/Working-with-Property-Placeholders-in-Talend-ESB/" target="_blank" rel="nofollow noopener noreferrer"&gt;http://edwardost.github.io/cloud/platform/soa/2015/05/14/Working-with-Property-Placeholders-in-Talend-ESB/&lt;/A&gt;&amp;nbsp;shows how to add external and Talend Context props to the camel context for use in Talend Components using the {{}} notation.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I tried to set the&amp;nbsp;cMQConnectionFactory broker uri usng "{{broker_uri}}" from a successfully populated&amp;nbsp; camel context but get an error that&amp;nbsp;{{broker_uri}} is not defined. I can get some Talend Components, like cSetBody, to work with "{{broker_uri}}" but not the&amp;nbsp;cMQConnectionFactory....&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Have you managed to initially set the cMQConnectionFactory component fields with the method from&amp;nbsp;&lt;A href="http://edwardost.github.io/cloud/platform/soa/2015/05/14/Working-with-Property-Placeholders-in-Talend-ESB/" target="_blank" rel="nofollow noopener noreferrer"&gt;edwardost.github.io&lt;/A&gt;?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Jan 2020 11:09:49 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370226#M133299</guid>
      <dc:creator>n999</dc:creator>
      <dc:date>2020-01-10T11:09:49Z</dc:date>
    </item>
    <item>
      <title>Re: tcontextLoad in routes</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370227#M133300</link>
      <description>&lt;P&gt;Input from talend:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Some components like the&amp;nbsp;&lt;SPAN&gt;cMQConnectionFactory will throw an error with simple {{}} expressions.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;You need to use the following instead.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;camelContext.resolvePropertyPlaceholders("{{propertyName}}")&lt;/PRE&gt;</description>
      <pubDate>Fri, 10 Jan 2020 16:45:36 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370227#M133300</guid>
      <dc:creator>n999</dc:creator>
      <dc:date>2020-01-10T16:45:36Z</dc:date>
    </item>
    <item>
      <title>Re: tcontextLoad in routes</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370228#M133301</link>
      <description>&lt;P&gt;Ah I see. I've not actually tried this but I suspect that this is because the&amp;nbsp;cMQConnectionFactory is initiated before the routes are started. A Talend Route is actually a Camel Context. The endpoints to endpoints within the Talend Route (Camel Context) are really the Camel Routes. Yes, it is confusing and quite frustrating that this nomenclature has been used. Going back to my first sentence, since the cMQConnectionFactory is started at the very beginning of the Camel Context, the curly brackets method is interpreted as a literal Java String.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;EDIT: I have just seen your last post while checking something you had said. The solution you have been given makes sense. I've not tried it, but will give it a go next time I need to do this.&lt;/P&gt;</description>
      <pubDate>Fri, 10 Jan 2020 17:22:23 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370228#M133301</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-01-10T17:22:23Z</dc:date>
    </item>
    <item>
      <title>Re: tcontextLoad in routes</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370229#M133302</link>
      <description>&lt;P&gt;&lt;SPAN&gt;That tutorial is what got me going with these. Once you get the hang of it, it is really powerful.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Jan 2020 10:18:19 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tcontextLoad-in-routes/m-p/2370229#M133302</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-01-13T10:18:19Z</dc:date>
    </item>
  </channel>
</rss>

