Four Stars

tRESTClient Timeout in Runtime

Hi,
The tRESTClient has the ability to specify a connection timeout and receive timeout, but for those options it says "(Studio Only, See Doc for Runtime). However, I am having trouble working out how to set these timeouts for the runtime. Can anyone give me an "idiots guide" to setting the timeouts?
Thanks,
Mark.
3 REPLIES
Employee

Re: tRESTClient Timeout in Runtime

Hi Mark,
might be not obvious to find it.. On Runtime we use the 'standard' CXF-Conduit File to specific these parameters. Some more information can be found here: 
https://help.talend.com//pages/viewpage.action?pageId=261823371
(The link refernce to the  Talend ESB Container Administration Guide - Chapter 9 / Sub-Chapter: HTTP Conduit OSGi Configuration Parameters - in case you downloaded the Documentation set as PDF) 
The specific parameter you look for are:
client.ConnectionTimeout
client.ReceiveTimeout
An example for using this file to e.g. setup TLS/SSL parameter for https is this one: \container\etc\org.apache.cxf.http.conduits-common.cfg"
Hope this helps,
Dietmar 
Four Stars

Re: tRESTClient Timeout in Runtime

Hi,
I have tried setting the timeout to 30 seconds for connection and the receive timeout to 120 seconds, but 20 minutes after tRESTClient started it still hasn't completed or timed out.
I have changed the config file to:
###
# #%L
# Talend :: Assembly
# %%
# Copyright (C) 2011 - 2012 Talend Inc.
# %%
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# #L%
###
#Common SSL conduit configuration
#url = .*
url = .*
tlsClientParameters.disableCNCheck = true
tlsClientParameters.trustManagers.keyStore.type = JKS
tlsClientParameters.trustManagers.keyStore.password = password
tlsClientParameters.trustManagers.keyStore.file = ./etc/keystores/keystore.jks
tlsClientParameters.keyManagers.keyStore.type = JKS
tlsClientParameters.keyManagers.keyStore.password = password
tlsClientParameters.keyManagers.keyStore.file = ./etc/keystores/keystore.jks
tlsClientParameters.keyManagers.keyPassword = password
tlsClientParameters.trustManagers.keyPassword = password
tlsClientParameters.cipherSuitesFilter.include = .*_EXPORT_.*,.*_EXPORT1024_.*,.*_WITH_DES_.*,.*_WITH_AES_.*,.*_WITH_NULL_.*,.*_DH_anon_.*
# Added by MJG
client.ConnectionTimeout = 30000
client.ReceiveTimeout = 120000

The relevant part of the job is
The config for the tRESTClient is
 
I enabled tStatCatcher on all of the components in that part of the job, and I see tRESTClient start in the logs, but none of the subsequent components start and it doesn't die. The relevant section of the log is...
INFO   | jvm 1    | 2015/11/02 09:56:58 | 
INFO   | jvm 1    | 2015/11/02 09:56:58 | .---------------------------------------------.
INFO   | jvm 1    | 2015/11/02 09:56:58 | |               #1. Find Stats                |
INFO   | jvm 1    | 2015/11/02 09:56:58 | +-------------------+-------------------------+
INFO   | jvm 1    | 2015/11/02 09:56:58 | | key               | value                   |
INFO   | jvm 1    | 2015/11/02 09:56:58 | +-------------------+-------------------------+
INFO   | jvm 1    | 2015/11/02 09:56:58 | | moment            | 2015-11-02 09:56:58     |
INFO   | jvm 1    | 2015/11/02 09:56:58 | | pid               | WUHt2S                  |
INFO   | jvm 1    | 2015/11/02 09:56:58 | | father_pid        | mdqneH                  |
INFO   | jvm 1    | 2015/11/02 09:56:58 | | root_pid          | rUaBWv                  |
INFO   | jvm 1    | 2015/11/02 09:56:58 | | system_pid        | 3048                    |
INFO   | jvm 1    | 2015/11/02 09:56:58 | | project           | VMTS                    |
INFO   | jvm 1    | 2015/11/02 09:56:58 | | job               | VM_Tracksheets_Find     |
INFO   | jvm 1    | 2015/11/02 09:56:58 | | job_repository_id | _Lv0GQDBxEeWCNZExCJf_eQ |
INFO   | jvm 1    | 2015/11/02 09:56:58 | | job_version       | 0.2                     |
INFO   | jvm 1    | 2015/11/02 09:56:58 | | context           | Default                 |
INFO   | jvm 1    | 2015/11/02 09:56:58 | | origin            | tRESTClient_2           |
INFO   | jvm 1    | 2015/11/02 09:56:58 | | message_type      | begin                   |
INFO   | jvm 1    | 2015/11/02 09:56:58 | | message           | null                    |
INFO   | jvm 1    | 2015/11/02 09:56:58 | | duration          | null                    |
INFO   | jvm 1    | 2015/11/02 09:56:58 | +-------------------+-------------------------+
INFO   | jvm 1    | 2015/11/02 09:56:58 |

                                                                          
 There is nothing after that in the log.
I also want to get the job working, since I know the web service works as this job works from within the Studio, and another job using the same web service works from within the Runtime.
Thanks,
Mark.
One Star

Re: tRESTClient Timeout in Runtime

I'm with the same problem, until now i didn't find a way to solve this error. I've tried to include this parameters (Receive and Connection) inside the same file you did, and I tried to generate a new config file as described on CXF fórum and non works for me. Have you solved this problem?