One Star

tHash component

Hi talender's
i use a THashOutput to stored datas in memory (a small array with 2 fields only)
after this i call this "memory" with a THashInput and then comes a Tmap.
the error comes with the Tmap, but seems to concern tHasInput :
------------------------
Exception in component tMap_3
java.lang.NullPointerException
at rezo_alpes_ain.new_indexzp_0_1.new_indexzp.tHashInput_2Process(new_indexzp.java:9503)
at rezo_alpes_ain.new_indexzp_0_1.new_indexzp.tHashInput_1Process(new_indexzp.java:7153)
at rezo_alpes_ain.new_indexzp_0_1.new_indexzp.tFileInputXML_2Process(new_indexzp.java:5461)
at rezo_alpes_ain.new_indexzp_0_1.new_indexzp.runJobInTOS(new_indexzp.java:15366)
at rezo_alpes_ain.new_indexzp_0_1.new_indexzp.main(new_indexzp.java:15186)
------------------------------
an idea about these number error ?
best, Julien
4 REPLIES
Moderator

Re: tHash component

Hi, geoetl
I have made a job to use tFixedFlowInput-->tHashOutput (see pic), but don't reproduce your issue again. So would you
|(onsubjectedok)
|
tHashInput-->tmap
mind providing your job more details for us? such as, the screenshot and the work flow of your job. We will give you a precise answer for that.

Best Regards
Sabrina
--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Seven Stars

Re: tHash component

The reference to tHashInput_2Process just tells you that the error occurred in the subjob starting at tHashInput_2.
To see exactly what statement's causing the problem, switch to the Code tab (bottom left of your design workspace) and go to line 9503. The error means you're trying to do something to a variable that is null so you'll have to figure out why it's null (if it shouldn't be) or put a null test in the expression to avoid the problem e.g. row1.column1==null?null:<your current expression>.
One Star

Re: tHash component

thanks and sorry to come back after several days....
i think my trouble comes from using 2 THashOutput in the same jo ( i wanted to called them with tHashInput_1 and tHashInput_2)
Talend doc is not complete but it seems that when we use a "memory" component (like tArray, tHash or tBuffer) , the "flow" is stored in a variable called "globalBuffer" ( for example with tBuffer).
so i think it is not possible to use more than one Thash output.
--------------------
I can try to store my 2 fields with a context maybe ?
that why i made a context and after i create 2 "sub'context" ( by using the menu "configure context" in the "tree values" context panel )
but how to call these "2 fields context" to use them in a flow ?
regards,
julien
Seven Stars

Re: tHash component

It's certainly possible to use as many tHashOutput and tHashInput components as you want, linked in any way that you want. Have you looked at the code line that's throwing the error?