You have a couple of choices here, but fewer than you might think.
1. You cannot use Java for a message exit. Java supports Send Receive and
Security exits on Client connection channels only (as I read the manual).
2. MQ will load the message exit from a default location (normally
/var/mqm/exits in unix, and <MQ folder>\exits in windows. <MQ folder> is
something like:
"c:\program files\IBM\WebSphere MQ"
That is - wherever MQ was installed.
You can modify this location using the ExitPath value in the qm.ini file
(or the windows registry) as appropriate. Other platforms such as zOS have
other mechanisms.
You don't need to provide the full path if you put your exit into the
default location.
If you name your unix shared library "myExit" rather than myExit.so, and
keep the same entry point, and put it into /var/mqm/exits, your define
channel can specify MSGEXIT('myExit(MsgExit)').
On the windows side, you build the dll as myExit.dll, and have the same
entry point name. The syntax to name the exit is therefore the same, and
will work as is.
Unfortunately, this trick does not work in the wider context of MQ, where
you could have AS400 or zOS (or other platforms) involved. Some of these do
not use the same syntax for naming exits. If you have these sorts of
cross-platform issues, you need to run Channel Autodefinition exits which
then modify the MsgExit value as the channel is autodefined. The CHAD exit
needs to have some way of mapping from the name of the exit on one platform
to the equivalent name on its local system (some sort of internal or
external table).
Remember that a message exit gets invoked for every message on the channel,
and so should run as quickly as possible. The CHAD exit is only invoked
once when the channel is defined, so its performance is less critical.
Regards,
Neil Casey
|---------+---------------------------->
| | peter d |
| | <[EMAIL PROTECTED]|
| | NE.NET> |
| | Sent by: MQSeries|
| | List |
| | <[EMAIL PROTECTED]|
| | n.AC.AT> |
| | |
| | |
| | 30/06/2003 03:54 |
| | Please respond to|
| | MQSeries List |
| | |
|---------+---------------------------->
>--------------------------------------------------------------------------------------------------------------|
|
|
| To: [EMAIL PROTECTED]
|
| cc:
|
| Subject: MsgExits on Clusters in CrossPlatform Environments
|
>--------------------------------------------------------------------------------------------------------------|
Ideas or discussion needed on solving the following issue with
Clustered environments:
I am running a Cluster Receiver on a SOLARIS platform AND have a
message exit invoked: /var/mqm/exits/myExit.so(MsgExit)
A "Win2l" box in the cluster has "instances" of its Cluster Sender
associated with this Cluster Receiver (on the Solaris box) ... The
instances
seem to pick up their channel attributes from the Cluster Receiver.
Well,
the end result has a Cluster Sender showing
"/var/mqm/exits/myExit.so(MsgExit)" in it's sender channel attributes...
but
this sender in the cluster is really a WinNT box, so that syntax is not
valid. The converse is true as well.
Any information on setting up Cluster Receivers, that allow the
Message Exit formats to work on ANY platform connecting a sender to this
Cluster Receiver, is appreciated.
The other option is JAVA (for platform independence, since a class
file will look the same on any platform). So the 2nd question is whether
JAVA is available to use as a message exit on NT, Win2k, AIX, Solaris,
OS390
environments?
regards, peter d.
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive