<?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 Talend ESB Runtime and using context in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-Runtime-and-using-context/m-p/2265689#M45154</link>
    <description>&lt;P&gt;I have been searching online and haven't been able to find a solution.&lt;/P&gt; 
&lt;P&gt;I am piloting use of TOS ESB Studio and Runtime deployed on a different server. It's not a subscription product.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I created a sample job to pilot basics, which reads data from a database and then listens to a rest request and sends immediate rest response.&lt;/P&gt; 
&lt;P&gt;It look like this:&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;tDBInput-&amp;gt;tFileOutput-&amp;gt;OnComponentOK-&amp;gt;tRestRequest-&amp;gt;tJavaRow-&amp;gt;tRESTResponse&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;As long as I have REST Endpoint field in tRESTRequest component hardcoded it works fine running in the Runtime container.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;However, if I change it to context to something like "http://"+context.hostname+"/:8089" the job fails to deploy.&lt;/P&gt; 
&lt;P&gt;Before throwing an exception it says&lt;/P&gt; 
&lt;P&gt;"g.apache.cxf.endpoint.ServerImpl 94 | 49 - org.apache.cxf.cxf-core - 3.3.1 | Setting the server's publish address to be http://"+context.Hostname+":8089/" then clearly fails to bind the port with&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;"Caused by: org.apache.cxf.interceptor.Fault: Could not start Jetty server on port 8,089: Unresolved address"&lt;/P&gt; 
&lt;P&gt;When I unpack the jar and look at job.xml I see this:&lt;/P&gt; 
&lt;P&gt;"&amp;lt;jaxrs:server xmlns:jaxrs="&lt;A href="http://cxf.apache.org/blueprint/jaxrs" target="_blank" rel="nofollow noopener noreferrer"&gt;http://cxf.apache.org/blueprint/jaxrs&lt;/A&gt;"&lt;BR /&gt;id="service"&lt;BR /&gt;address="&lt;STRONG&gt;http://&amp;amp;quot;+context.Hostname+&amp;amp;quot;:8089/&lt;/STRONG&gt;"&amp;gt;&lt;BR /&gt;&amp;lt;jaxrs:serviceBeans&amp;gt;&lt;BR /&gt;&amp;lt;ref component-id="serviceBean" /&amp;gt;&lt;BR /&gt;&amp;lt;/jaxrs:serviceBeans&amp;gt;"&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I have created the file second-0.1.jar.cfg in container/etc folder with one single line:&lt;/P&gt; 
&lt;P&gt;-----------&lt;/P&gt; 
&lt;P&gt;context = Development&lt;/P&gt; 
&lt;P&gt;-----------&lt;/P&gt; 
&lt;P&gt;It doesn't help much despite all contexts and variables are present in the jar file.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;However, context also used for the database component tDBInput in the same job and the job runs fine (as long as REST Endpoint is hardcoded).&lt;/P&gt; 
&lt;P&gt;However, the job keeps running in the same default context it was compiled with and changing context value in the container/etc/second-0.1.jar.cfg doesn't have any effect.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;How can I fix this and use context properly?&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Can someone please point me to an up to date tutorial on how it's done perhaps?&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Thank you.&lt;/P&gt;</description>
    <pubDate>Sat, 16 Nov 2024 04:03:38 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2024-11-16T04:03:38Z</dc:date>
    <item>
      <title>Talend ESB Runtime and using context</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-Runtime-and-using-context/m-p/2265689#M45154</link>
      <description>&lt;P&gt;I have been searching online and haven't been able to find a solution.&lt;/P&gt; 
&lt;P&gt;I am piloting use of TOS ESB Studio and Runtime deployed on a different server. It's not a subscription product.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I created a sample job to pilot basics, which reads data from a database and then listens to a rest request and sends immediate rest response.&lt;/P&gt; 
&lt;P&gt;It look like this:&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;tDBInput-&amp;gt;tFileOutput-&amp;gt;OnComponentOK-&amp;gt;tRestRequest-&amp;gt;tJavaRow-&amp;gt;tRESTResponse&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;As long as I have REST Endpoint field in tRESTRequest component hardcoded it works fine running in the Runtime container.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;However, if I change it to context to something like "http://"+context.hostname+"/:8089" the job fails to deploy.&lt;/P&gt; 
&lt;P&gt;Before throwing an exception it says&lt;/P&gt; 
&lt;P&gt;"g.apache.cxf.endpoint.ServerImpl 94 | 49 - org.apache.cxf.cxf-core - 3.3.1 | Setting the server's publish address to be http://"+context.Hostname+":8089/" then clearly fails to bind the port with&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;"Caused by: org.apache.cxf.interceptor.Fault: Could not start Jetty server on port 8,089: Unresolved address"&lt;/P&gt; 
&lt;P&gt;When I unpack the jar and look at job.xml I see this:&lt;/P&gt; 
&lt;P&gt;"&amp;lt;jaxrs:server xmlns:jaxrs="&lt;A href="http://cxf.apache.org/blueprint/jaxrs" target="_blank" rel="nofollow noopener noreferrer"&gt;http://cxf.apache.org/blueprint/jaxrs&lt;/A&gt;"&lt;BR /&gt;id="service"&lt;BR /&gt;address="&lt;STRONG&gt;http://&amp;amp;quot;+context.Hostname+&amp;amp;quot;:8089/&lt;/STRONG&gt;"&amp;gt;&lt;BR /&gt;&amp;lt;jaxrs:serviceBeans&amp;gt;&lt;BR /&gt;&amp;lt;ref component-id="serviceBean" /&amp;gt;&lt;BR /&gt;&amp;lt;/jaxrs:serviceBeans&amp;gt;"&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I have created the file second-0.1.jar.cfg in container/etc folder with one single line:&lt;/P&gt; 
&lt;P&gt;-----------&lt;/P&gt; 
&lt;P&gt;context = Development&lt;/P&gt; 
&lt;P&gt;-----------&lt;/P&gt; 
&lt;P&gt;It doesn't help much despite all contexts and variables are present in the jar file.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;However, context also used for the database component tDBInput in the same job and the job runs fine (as long as REST Endpoint is hardcoded).&lt;/P&gt; 
&lt;P&gt;However, the job keeps running in the same default context it was compiled with and changing context value in the container/etc/second-0.1.jar.cfg doesn't have any effect.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;How can I fix this and use context properly?&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Can someone please point me to an up to date tutorial on how it's done perhaps?&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Sat, 16 Nov 2024 04:03:38 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-Runtime-and-using-context/m-p/2265689#M45154</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-11-16T04:03:38Z</dc:date>
    </item>
    <item>
      <title>Re: Talend ESB Runtime and using context</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-Runtime-and-using-context/m-p/2265690#M45155</link>
      <description>You should use relative path instead off complete URL.</description>
      <pubDate>Thu, 21 Nov 2019 08:27:01 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-Runtime-and-using-context/m-p/2265690#M45155</guid>
      <dc:creator>TRF</dc:creator>
      <dc:date>2019-11-21T08:27:01Z</dc:date>
    </item>
    <item>
      <title>Re: Talend ESB Runtime and using context</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-Runtime-and-using-context/m-p/2265691#M45156</link>
      <description>&lt;P&gt;&lt;A href="https://community.qlik.com/s/profile/0053p000007LKj7AAG"&gt;@TRF&lt;/A&gt;&amp;nbsp;thank you for your reply, but can you please elaborate?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Where should I use relative path and how?&lt;/P&gt;</description>
      <pubDate>Fri, 22 Nov 2019 00:49:49 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-Runtime-and-using-context/m-p/2265691#M45156</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2019-11-22T00:49:49Z</dc:date>
    </item>
    <item>
      <title>Re: Talend ESB Runtime and using context</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-Runtime-and-using-context/m-p/2265692#M45157</link>
      <description>&lt;P&gt;Suppose your service is available through the URL "https://your_IP/services/api/v1/your_service".&lt;/P&gt;&lt;P&gt;The REST endpoint field of tRESTRequest component should be "/api/v1/your_service".&lt;/P&gt;&lt;P&gt;This way you can deploy it anywhere without any change for the URL which cannot use dynamic construction using context or global variable.&lt;/P&gt;</description>
      <pubDate>Fri, 22 Nov 2019 07:48:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-Runtime-and-using-context/m-p/2265692#M45157</guid>
      <dc:creator>TRF</dc:creator>
      <dc:date>2019-11-22T07:48:53Z</dc:date>
    </item>
    <item>
      <title>Re: Talend ESB Runtime and using context</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-Runtime-and-using-context/m-p/2265693#M45158</link>
      <description>&lt;P&gt;Thank you&amp;nbsp;&lt;A href="https://community.qlik.com/s/profile/0053p000007LKj7AAG"&gt;@TRF&lt;/A&gt;&amp;nbsp;. It makes sense and works - the service now running fine on default port 8040, but I have difficulties with invoking it.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I get&amp;nbsp;HTTP/1.1 404 Not Found when making a call to it despite the service is up and running fine until I make a call, then it throws an exception in the wrapper.log&lt;/P&gt; 
&lt;P&gt;It also available on services page and its WADL looks fine&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="comm0.png" style="width: 643px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M88H.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/144946i39E618C0A9A4DAA9/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M88H.png" alt="0683p000009M88H.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="comm1.png" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M8FG.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/155293i8599F4E869186735/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M8FG.png" alt="0683p000009M8FG.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;As you can see, when I make a call, it just throws a HTTP error. It was not the case when I specified hostname and port in the REST Endpoint field.&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;When I look at the logs I can see this exception&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | Exception in thread "Thread-76" &lt;STRONG&gt;java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at java.lang.ClassLoader.defineClass1(Native Method)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at java.lang.ClassLoader.defineClass(ClassLoader.java:763)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:276)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:655)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:578)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:538)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:525)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:368)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:446)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at java.lang.ClassLoader.loadClass(ClassLoader.java:357)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at local_project.second_0_1.second.tWriteJSONField_1_InProcess(second.java:4144)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at local_project.second_0_1.second$1ThreadXMLField_tWriteJSONField_1_Out.run(second.java:2998)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException cannot be found by local_project.second_0.1.0&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:484)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | at java.lang.ClassLoader.loadClass(ClassLoader.java:357)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;INFO | jvm 1 | 2019/11/25 16:53:58 | ... 16 more&lt;/FONT&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;It seems like it's linked to tWriteJSONField component. I dropped&amp;nbsp;json-lib-2.4.1-talend.jar to JRE/lib/ext folder and restarted Karaf but it didn't help. Any ideas?&lt;/P&gt;</description>
      <pubDate>Mon, 25 Nov 2019 08:37:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-Runtime-and-using-context/m-p/2265693#M45158</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2019-11-25T08:37:02Z</dc:date>
    </item>
  </channel>
</rss>

