|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Better ways other than using namelist? |
« View previous topic :: View next topic » |
Author |
Message
|
angka |
Posted: Mon Nov 14, 2005 5:31 pm Post subject: Better ways other than using namelist? |
|
|
Chevalier
Joined: 20 Sep 2005 Posts: 406
|
Hi all,
Is there other way to store queue name accessible to external queue manager rather than using the namelist? I am working on the Message Exit and whenever a message is passed to my queue manager the exit is invoked and it MQINQ for the namelist. My queue manager is connected to many other queue managers with different channels. MQCON & MQINQ is very expensive and it will increase my CPU work load if a few messages is passed in from different channel at the same time. By putting the accessible queue in the MsgExit user data wont be enough because my queue name is around 24 bytes and I have a few queue name to store.
Thanks in advance. =)
Regards. |
|
Back to top |
|
 |
Mr Butcher |
Posted: Tue Nov 15, 2005 12:53 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
it depends on how often you have to change your namelist of queuenames. if it is almost static then why not build a table in the program with the queuenames?
on z/OS you can get storage and keep it as long as the channel is running, so the namelist has to be read only once (during channel start) by the exit to build the internal table, and can be refreshed by stopping / starting the channel. maybe that is possible on your plattform too.
if not, you can still go with a hardcoded table if you do not have to change every minute. _________________ Regards, Butcher |
|
Back to top |
|
 |
angka |
Posted: Tue Nov 15, 2005 7:47 pm Post subject: |
|
|
Chevalier
Joined: 20 Sep 2005 Posts: 406
|
Hi Mr Butcher,
Thanks. However, if i used a hardcoded table, it will consume the CPU time as it need to read from flat file. I may receive 20 messages per second which mean my Exit may be invoked 20 differnent instances per second and fopen and fclose 20 times per second. I usin NSK platform. =)
Rgds. |
|
Back to top |
|
 |
Mr Butcher |
Posted: Tue Nov 22, 2005 12:32 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
code the table in the program so you do not have to read it
(as i wrote before, if this solution is practicable depends on how often you have to change the table) _________________ Regards, Butcher |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Nov 22, 2005 4:13 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Read the table from the file at initialization/qmgr time. Store also the file mod time.
Then do a quick check at each message invocation to see if the mod date of the file is newer than what you have stored (or even just different...). If so, reload the file.
Similarly, this could be done with a database table of some sort - although it gets hard to know when an update has occurred.
If you are storing business level routing rules in this table/file/whatever, you probably need to store it in a database table, so that the business owners can manage it and can see it.
You could then have an update trigger fire a special message to your exit that told it to reload from the database. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|