How to make a component wait for other component to finish


This is a screenshot of one of my ETL job. As you can see tMap_1 will produce output to site_out and site_out_update (Both is tMSSqlOutput component). On my tJava_1 i have the following simple code (as shown in the bottom of the image). When i run this, the console output the word "test" 2 times. Which i assumed tJava_1 have been executed 2 times by both site_out and site_out_update. My really simple question is how to make tJava_1 executed only once? to make it clear, tJava_1 will be executed only after tMap_1 have already finished inserting all the data to both site_out and site_out_update. Can somebody help me on this. Is there a component which can combine both the OnComponentOk link into 1 or something. Please help. thanks in advance

P/S: pardon my bad english if any :p

P/S: in the picture, i have mispelled syntax. (it suppose to be "System ..." not "Syatem ...") ignore it please. just pretend im using the right one :P

WarOne's picture
Joined: Mar 15 2015 - 6:05pm
Last seen: 4 years 1 month ago

1 Answer:


Indeed is doing the right thing, each component will trigger a OnComponetOk signal whn it finished giving you 2 fires of your tJava component.

What you are looking for is not "OnComponetOk" but "OnSubJobOk" that will get triggered only once when the first subjob finish.. something like this:

marianol's picture
Joined: Sep 13 2011 - 8:04am
Last seen: 2 years 7 months ago