<?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: How to properly stop a tRabbitMQInput in an ETL Job in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/How-to-properly-stop-a-tRabbitMQInput-in-an-ETL-Job/m-p/2346925#M114273</link>
    <description>&lt;P&gt;You can use the component tFlowToIterate to convert the flow into a iterate trigger.&lt;/P&gt;</description>
    <pubDate>Tue, 06 Jun 2023 11:03:37 GMT</pubDate>
    <dc:creator>jlolling</dc:creator>
    <dc:date>2023-06-06T11:03:37Z</dc:date>
    <item>
      <title>How to properly stop a tRabbitMQInput in an ETL Job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-properly-stop-a-tRabbitMQInput-in-an-ETL-Job/m-p/2346921#M114269</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;In the documentation of the tRabbitMQInput component ( &lt;A href="https://help.talend.com/r/en-US/8.0/rabbitmq/trabbitmqinput-standard-properties?tocId=~haByAZC_yalCRjkRkiCKQ" target="_blank"&gt;here&lt;/A&gt; ), we can read the following limitation :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &amp;nbsp; &amp;nbsp;&lt;I&gt;Normally, this component works in the streaming mode and will not stop unless an error or an exception occurs. So, when you add this component to a Job, make sure that the Job has a mechanism that can interrupt the execution of this component.&lt;/I&gt;&lt;/P&gt;&lt;P&gt; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What could be such a mechanism ?&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;A tJava with a "break" command doesn't work ( compilation error : "the break argument cannot be used outside of a loop..." )&lt;/LI&gt;&lt;LI&gt;A tDie ? It's seem quite extreme&lt;/LI&gt;&lt;LI&gt;A tJava with a System.exit ? Even more extreme as it kills the JVM&lt;/LI&gt;&lt;LI&gt;Another solution ?&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 31 May 2023 06:40:55 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-properly-stop-a-tRabbitMQInput-in-an-ETL-Job/m-p/2346921#M114269</guid>
      <dc:creator>FPellissier1625558358</dc:creator>
      <dc:date>2023-05-31T06:40:55Z</dc:date>
    </item>
    <item>
      <title>Re: How to properly stop a tRabbitMQInput in an ETL Job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-properly-stop-a-tRabbitMQInput-in-an-ETL-Job/m-p/2346922#M114270</link>
      <description>&lt;P&gt;Nearby... you can use tJavaRow within the flow and add here some code with an if condition and use break to to the flow. Please take care all input columns are handover to the output schema.&lt;/P&gt;&lt;P&gt;In fact Talend has currently no mechanism to gracefully shutdown a job.&lt;/P&gt;</description>
      <pubDate>Wed, 31 May 2023 09:03:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-properly-stop-a-tRabbitMQInput-in-an-ETL-Job/m-p/2346922#M114270</guid>
      <dc:creator>jlolling</dc:creator>
      <dc:date>2023-05-31T09:03:28Z</dc:date>
    </item>
    <item>
      <title>Re: How to properly stop a tRabbitMQInput in an ETL Job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-properly-stop-a-tRabbitMQInput-in-an-ETL-Job/m-p/2346923#M114271</link>
      <description>&lt;P&gt;Hi &lt;/P&gt;&lt;P&gt;Define a condition based on the data retrieved from queue on tJavaRow, use 'break' command to stop the component execution once the condition is met. eg:&lt;/P&gt;&lt;P&gt;tRabbitMQInput--main--tJavaRow--main--tLogRow&lt;/P&gt;&lt;P&gt;  |onsubjobok&lt;/P&gt;&lt;P&gt;other components&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;on tJavaRow:&lt;/P&gt;&lt;P&gt;output_row.columnName=input_row.columName;&lt;/P&gt;&lt;P&gt;if(input_row.columnName.equals("talend")){&lt;/P&gt;&lt;P&gt;break;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you try?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Using Die and check 'exit JVM immediatel' will kill the JVM and stop the job execution.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Shong&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>Wed, 31 May 2023 10:11:13 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-properly-stop-a-tRabbitMQInput-in-an-ETL-Job/m-p/2346923#M114271</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2023-05-31T10:11:13Z</dc:date>
    </item>
    <item>
      <title>Re: How to properly stop a tRabbitMQInput in an ETL Job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-properly-stop-a-tRabbitMQInput-in-an-ETL-Job/m-p/2346924#M114272</link>
      <description>&lt;P&gt;Hello @Shicong Hong​&amp;nbsp;and @Jan Lolling​&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for your reply&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To give you more details, we are trying to change the initial behavior of the tRabbitMQInput component, so that it is not used as a stream but as a classic row component (like a tDBInput for example).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So, this solution is not possible for us, cause we need to use tRabbitMQAck component to acknowledge messages one by one.&lt;/P&gt;&lt;P&gt;And this component does not accept row input, only onComponentOk/onSubJobOk or iterate. And as you know, we can't use break without row input&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also, if we had a clearer solution to cleanly stop a job at a chosen time without crashing the parent job (like a tDie or a system.exit, that would be ideal for us. We can indeed use if conditions to decide whether to continue processing or not, but it is a solution of last resort&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jun 2023 07:42:49 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-properly-stop-a-tRabbitMQInput-in-an-ETL-Job/m-p/2346924#M114272</guid>
      <dc:creator>RChauvin</dc:creator>
      <dc:date>2023-06-06T07:42:49Z</dc:date>
    </item>
    <item>
      <title>Re: How to properly stop a tRabbitMQInput in an ETL Job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-properly-stop-a-tRabbitMQInput-in-an-ETL-Job/m-p/2346925#M114273</link>
      <description>&lt;P&gt;You can use the component tFlowToIterate to convert the flow into a iterate trigger.&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jun 2023 11:03:37 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-properly-stop-a-tRabbitMQInput-in-an-ETL-Job/m-p/2346925#M114273</guid>
      <dc:creator>jlolling</dc:creator>
      <dc:date>2023-06-06T11:03:37Z</dc:date>
    </item>
    <item>
      <title>Re: How to properly stop a tRabbitMQInput in an ETL Job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-properly-stop-a-tRabbitMQInput-in-an-ETL-Job/m-p/2346926#M114274</link>
      <description>&lt;P&gt;Sûre, I know, but you can't use the break in an iterate, cause it's not the same loop as row&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jun 2023 11:26:04 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-properly-stop-a-tRabbitMQInput-in-an-ETL-Job/m-p/2346926#M114274</guid>
      <dc:creator>RChauvin</dc:creator>
      <dc:date>2023-06-06T11:26:04Z</dc:date>
    </item>
  </channel>
</rss>

