Author |
Message
|
techno |
Posted: Wed Apr 21, 2004 9:46 am Post subject: KeepAlive, AdoptMCS, HBInt, DISCINT |
|
|
Chevalier
Joined: 22 Jan 2003 Posts: 429
|
I am confused with above parameters. Their description seem to be saying they are complimentary to each other. Could you explain the differences? I know that they are available in Manuals. I am not able to get the differences?
Thanks. |
|
Back to top |
|
 |
mqonnet |
Posted: Wed Apr 21, 2004 11:00 am Post subject: |
|
|
 Grand Master
Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa.
|
I am not sure if there is a doc that shows the differences between all of these, but the definitions of all of these is in the intercommuncation guide. And you can assess for yourself what they all mean. Alternatively you could search this site for the definitions and even differences.
Relevance and platform decides the usage of either of those.
Cheers
Kumar |
|
Back to top |
|
 |
techno |
Posted: Wed Apr 21, 2004 12:33 pm Post subject: |
|
|
Chevalier
Joined: 22 Jan 2003 Posts: 429
|
Another thing:
Using client-server connections. I have these few attributes set in qm.ini.
TCP:
KeepAlive=Yes
CHANNELS:
AdoptNewMCA=all
AdoptNewMCATimeout=5
AdoptNewMCACheck=all
I still see the connections growing. (netstat -a | grep qmlistenerport).
I have an application sending a message to a queue once in hour. Receiving application is based on JMS listener using client connection. Every time, the message is received, no of connections are increasing. Could you tell me what wrong I am doing there?
Thanks |
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Apr 21, 2004 1:38 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Do a search on this site for these terms and with my name as the author. There are a lot of detailed posts already on these subjects. If you have any specific questions related to those posts , just add on to them.
This support pac also talks about these parameters:
http://www-1.ibm.com/support/docview.wss?rs=203&uid=swg24006699&loc=en_US&cs=utf-8&lang=en
As for the growing connections, your apps are not coded properly and are not closing the queues and disconnecting after they are done. They just go away, and the QM thinks they are still connected. KeepAlive will get rid of these orphaned sockets, but realize KA is set at the system level and is 2 hours be default. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
mqonnet |
Posted: Wed Apr 21, 2004 1:47 pm Post subject: |
|
|
 Grand Master
Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa.
|
To add to what Peter said, i dont think AdoptMCA is valid for a svrconn channel if thats what you are using. At least thats what i believe you are using. Adoptmca works only on the following channels(picked up from the manual).
SVR|SDR|RCVR|CLUSRCVR|ALL|FASTPATH
Where all means all of those mentioned here.
Cheers
Kumar |
|
Back to top |
|
 |
techno |
Posted: Thu Apr 22, 2004 7:15 am Post subject: |
|
|
Chevalier
Joined: 22 Jan 2003 Posts: 429
|
My application does not close the queues. This is a receiver application extended from MessageListener. It just keeps on listening... [/b] |
|
Back to top |
|
 |
bower5932 |
Posted: Thu Apr 22, 2004 8:29 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
If your application keeps on listening, this would account for the connections never going away in netstat. However, it wouldn't account for the connections continued growth. Do you keep starting up more copies of your application? |
|
Back to top |
|
 |
techno |
Posted: Thu Apr 22, 2004 9:16 am Post subject: |
|
|
Chevalier
Joined: 22 Jan 2003 Posts: 429
|
No. There is only one instance of receiver. |
|
Back to top |
|
 |
techno |
Posted: Thu Apr 22, 2004 10:00 am Post subject: |
|
|
Chevalier
Joined: 22 Jan 2003 Posts: 429
|
I could find something.
For each message received, the app inquires about a queue (making a client connection; for MQIA_BACKOUT_THRESHOLD, MQCA_BACKOUT_REQ_Q_NAME). So, number of extra client connections = number of messages.
Even though, I can see cleaning of resources, somehow, the cleint connections are still active on qmgr side. Anybody can give some idea.
Code:
Code: |
public Hashtable getBktThresholdParams() {
String methodName = "getBOThresholdAttrs()";
int[] selectors = { CMQC.MQIA_BACKOUT_THRESHOLD, CMQC.MQCA_BACKOUT_REQ_Q_NAME };
int[] intAttrs = new int[1];
byte[] charAttrs = new byte[MQC.MQ_Q_NAME_LENGTH];
MQQueueManager qMgr = null;
MQQueue queue = null;
try {
if(channelName != null && ipAddress != null)
{
MQEnvironment.hostname =ipAddress;
MQEnvironment.channel =channelName;
MQEnvironment.port =portId;
MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_CLIENT);
}
qMgr = new MQQueueManager(sqmgr);
queue = new MQQueue(qMgr, squeue, MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_INQUIRE, sqmgr, "", "");
//System.out.println("queue:"+queue);
queue.inquire(selectors, intAttrs, charAttrs);
int boThresh = intAttrs[0];
String bOQname = new String(charAttrs);
bOThresholdAttrs.put("BOTHRESH", ""+boThresh);
bOThresholdAttrs.put("BOQNAME", bOQname.trim());
} catch (MQException mqe) {
} finally {
try {
queue.close();
qMgr.close();
} catch (Exception e) {
}
}
queue = null;
qMgr = null;
return bOThresholdAttrs;
} |
|
|
Back to top |
|
 |
EddieA |
Posted: Thu Apr 22, 2004 7:14 pm Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
I think it's a disconnect you want, not a close.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
techno |
Posted: Fri Apr 23, 2004 10:03 am Post subject: |
|
|
Chevalier
Joined: 22 Jan 2003 Posts: 429
|
Eddie
It works fine.
Lot of useful info on the terms on Search! Thanks all. |
|
Back to top |
|
 |
|