Author |
Message
|
nzeeman |
Posted: Tue Apr 04, 2006 1:57 am Post subject: .Net API Compression Exits ( pre v6) |
|
|
Newbie
Joined: 04 Apr 2006 Posts: 6
|
Hi
I'm fairly new to using MQ .Net api - can anyone tell me if it is possible, how to set up the .Net environment or to make use of compression(send, receive) exists when connecting to MQ from a client (application) ?
Any help will be appreciated
Thanks
Niel |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Apr 04, 2006 2:18 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Compression on channels is standard in V6.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
nzeeman |
Posted: Tue Apr 04, 2006 2:24 am Post subject: |
|
|
Newbie
Joined: 04 Apr 2006 Posts: 6
|
yea i know - the problem is I'm stuck on 5.3 for the time being  |
|
Back to top |
|
 |
wschutz |
Posted: Tue Apr 04, 2006 2:25 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
|
Back to top |
|
 |
nzeeman |
Posted: Tue Apr 04, 2006 2:50 am Post subject: |
|
|
Newbie
Joined: 04 Apr 2006 Posts: 6
|
This is unfortunately v6 api, pre 6 only has a ReceiveExit and SendExit string property in the MQEnvironment class - that is all i can find!
and i have not yet gotten this to work at all ! |
|
Back to top |
|
 |
wschutz |
Posted: Tue Apr 04, 2006 3:10 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
ouchh.... I take FJ to task and then do the same thing myself.... apologies to all.... _________________ -wayne |
|
Back to top |
|
 |
nzeeman |
Posted: Wed Apr 05, 2006 1:43 am Post subject: |
|
|
Newbie
Joined: 04 Apr 2006 Posts: 6
|
Can anyone tell me if the new api changes came in in v6 or v6.0.1.0?
Thanks |
|
Back to top |
|
 |
wschutz |
Posted: Wed Apr 05, 2006 2:25 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Well.. in -00 of the .Net manual (May 2005), I don't see those API's (the one's I linked to earlier). In -01 of the manual (March 06) they are there and this is in the "Changes" section of the manual:
Quote: |
Changes for this edition (GC34-6605-01)
The changes to this edition of Using .NET include:
* the introduction of a managed .Net client stack
* editorial corrections |
Now, of course, this doesn't necessarily mean that the function was intrduced in RP 1, but I would suspect it is the case.
BTW...it apeears that if you use a managed client, you can't use builtin channel compression:
http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/topic/com.ibm.mq.csqzav.doc/csqzav0529.htm[/quote] _________________ -wayne |
|
Back to top |
|
 |
nzeeman |
Posted: Wed Apr 05, 2006 3:15 am Post subject: |
|
|
Newbie
Joined: 04 Apr 2006 Posts: 6
|
Quote: |
Separate channel exits must be written for use with the managed client. |
So it seems as if i must then write my own - anyone by any chance have an example lying around of a managed exit ?  |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Apr 05, 2006 12:07 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
You could also wrap the C api as unmanaged code and incorporate it into the managed code. Then you could possibly use the channel compression from V6. _________________ MQ & Broker admin |
|
Back to top |
|
 |
nzeeman |
Posted: Thu Apr 06, 2006 12:44 am Post subject: |
|
|
Newbie
Joined: 04 Apr 2006 Posts: 6
|
so theoretically if i use the activex (mqax200.dll) api it should be cool.. |
|
Back to top |
|
 |
questro |
Posted: Tue Apr 11, 2006 9:48 am Post subject: |
|
|
 Newbie
Joined: 07 Mar 2006 Posts: 9 Location: Magic Land
|
nzeeman wrote: |
This is unfortunately v6 api, pre 6 only has a ReceiveExit and SendExit string property in the MQEnvironment class - that is all i can find!
and i have not yet gotten this to work at all ! |
5.3 uses P/Invoke of the underlying client dll (mqic32.dll / mqic32xa.dll) so you can use standard C exits by connecting through these dlls via an MQ client channel table, where you can specify all of the exits you need - in other words, you don't put the channel name / connection name into your application at all, you use a queue manager name and the client channel table lookup.
The way you achieve this is you make your application connect to a named queue manager, and set the NMQ_MQ_LIB environment variable to mqic32.dll to force the use of the client (that is assuming you are running on a client & server installation - if you are on a client only installation, it will pick mqic32.dll on its own). When the MQCONN actually gets through to real MQ code, it will see a queue manager name but no other connection details and lurch off to amqclchl.tab (or whatever you have set up as you channel definition table)... when it gets there, it will use whatever exits are specified there.
If you do this, you can use your own compression exits written in C on 5.3 - and, so long as you continue to use unmanaged code, you can continue to use this method in v6.0 and v6.0.1.1 (which is where the managed .NET code is being introduced I believe). |
|
Back to top |
|
 |
|