Author |
Message
|
ishahzad |
Posted: Thu Apr 16, 2015 11:22 pm Post subject: Request Reply using TCPIPClient Output and Receive |
|
|
Newbie
Joined: 09 Mar 2015 Posts: 6
|
Hi, I have implemented a message flow which communicates with external TCPIP Server. Request and Response needs to be coordinated because multiple instances of same flow or different message flows can interact with external TCPIP Server. Configuration works perfectly well when I set close connection field of TCPIPClientReceiveNode with No but when it is configured to close connection after timeout, stream is not released causing subsequent TCPIPClientOutputNode to timeout because of unavailability of connections. I am using IIB v9 with FixPack 3 installed on it.
I have TCPIPClientOutputNode with following configuration:
Advance Tab:
Close Output Stream after record has been sent: unchecked/false
Output Stream Modification: Reserve output stream (for use by future TCPIP nodes)
Input Stream Modification: Leave unchanged
I have TCPIPClientReceiveNode with following configuration:
Advance Tab:
Close Connection: After timeout
Close Input Stream after record has been received: unchecked/false
Input Stream Modification: Leave unchanged
Output Stream Modification: Release output stream
I just want to confirm whether it's a bug or I am missing some configuration. I haven't found any information related to restriction of using close connection on stream release on IBM Integration Bus info center. |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Apr 17, 2015 4:59 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Are you sure you know what timeout value is in effect? |
|
Back to top |
|
 |
ishahzad |
Posted: Fri Apr 17, 2015 5:36 am Post subject: |
|
|
Newbie
Joined: 09 Mar 2015 Posts: 6
|
TCPIPClientOutputNode
Basic:
Timeout sending data record (seconds)* = 20
It is getting timeout after 20 seconds with following exception (I have limited the max socket connections to one):
Number:INTEGER:3587 Text:CHARACTER:no connections available acquired |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Apr 17, 2015 5:42 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
What's the keep-alive value on the host? |
|
Back to top |
|
 |
ishahzad |
Posted: Fri Apr 17, 2015 6:44 am Post subject: |
|
|
Newbie
Joined: 09 Mar 2015 Posts: 6
|
I am currently running/testing with Message Flow Simulating the external system. I have defined a configurable services for TCPIP Client and Server with ExpireConnectionSec to -1. |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Apr 17, 2015 6:46 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
When will the OS timeout the connection?
Does ExpireConnectionsSec=-1 mean "always expire" or "never expire"? |
|
Back to top |
|
 |
ishahzad |
Posted: Fri Apr 17, 2015 7:02 am Post subject: |
|
|
Newbie
Joined: 09 Mar 2015 Posts: 6
|
A value of 0 (zero) causes the connection to be closed immediately, and a value of -1 causes the connection to remain open indefinitely (no expiry).
Connection Stream is getting released (and flow is working fine) if I change TCPIPClientReceive Node's connection close property to No from After Timeout. |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Apr 17, 2015 7:09 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
I keep asking about OS level settings, and you keep responding with Node level settings.
When will the OS release a TCP connection, or allow it to actually close? |
|
Back to top |
|
 |
ishahzad |
Posted: Mon Apr 20, 2015 12:05 am Post subject: |
|
|
Newbie
Joined: 09 Mar 2015 Posts: 6
|
I am using Windows 7 and I have verified entries in windows registry on location: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters
There are no properties defined with keys KeepAliveInterval, KeepAliveTime.
I think following default values must have been used:
KeepAliveInterval [Default: 1000 (one second)]
KeepAliveTime [Default: 7,200,000 (two hours)] |
|
Back to top |
|
 |
|