Author |
Message
|
yshakraj |
Posted: Fri May 24, 2013 2:08 am Post subject: MQ-Splitter |
|
|
 Voyager
Joined: 14 Sep 2011 Posts: 91
|
Hi All,
We have a requirement to read one queue & write that message into 6 different queues using Queue-Splitting Technique. Could you please guide us how queue-splitter works exactly.
Thanks,
Yshak |
|
Back to top |
|
 |
exerk |
Posted: Fri May 24, 2013 2:37 am Post subject: Re: MQ-Splitter |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
yshakraj wrote: |
Hi All,
We have a requirement to read one queue & write that message into 6 different queues using Queue-Splitting Technique. Could you please guide us how queue-splitter works exactly.
Thanks,
Yshak |
What 'queue-splitter', as there's no such thing in existence I'm aware of? I suggest you search this site for 'MirrorQ done as Pub/Sub' though... _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
zpat |
Posted: Fri May 24, 2013 3:02 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
WMB can do it easily in a message flow.
WMQ adminstrative pub/sub can do it with no coding (although some MQMD values will not be carried forward). |
|
Back to top |
|
 |
hughson |
Posted: Fri May 24, 2013 4:20 am Post subject: |
|
|
 Padawan
Joined: 09 May 2013 Posts: 1959 Location: Bay of Plenty, New Zealand
|
MA01 support pac 'Q' can do it thus:-
Code: |
q -m qmgr-name -I INPUT.Q -o Q1 -o Q2 |
The above example will get messages (destructively) from INPUT.Q and put them to both Q1 and Q2.
Alternatively you could use Pub/Sub to do something similar thus:-
Code: |
DEFINE QALIAS(INPUT.Q) TARGTYPE(TOPIC) TARGET(SPLITTER)
DEFINE TOPIC(SPLITTER) TOPICSTR(SPLITTER)
DEFINE SUB(SPLIT.Q1) TOPICOBJ(SPLITTER) PSPROP(NONE) DEST(Q1)
DEFINE SUB(SPLIT.Q2) TOPICOBJ(SPLITTER) PSPROP(NONE) DEST(Q2) |
PSPROP(NONE) is required to ensure the message properties added by the pub/sub engine, e.g. MQTopicString, are not in the messages, as these applications will not be expecting those. Also note in the pub/sub case, the MQMD will not be the same as was created by the putting application.
Cheers
Morag _________________ Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software |
|
Back to top |
|
 |
RogerLacroix |
Posted: Mon May 27, 2013 1:11 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
|
Back to top |
|
 |
LouML |
Posted: Fri Aug 02, 2013 7:23 am Post subject: |
|
|
 Partisan
Joined: 10 Nov 2005 Posts: 305 Location: Jersey City, NJ / Bethpage, NY
|
RogerLacroix wrote: |
Hello,
Did you have a look at MMX (Message Multiplexer):
http://www.capitalware.biz/mmx_overview.html
It is an open source project that runs on Windows, Unix, IBM i (OS/400), Linux and z/OS.
Regards,
Roger Lacroix
Capitalware Inc. |
We've used MMX and it works very well.
However, we've come across an issue when we use multiple installations of MQ Server 7.5. We're on a Solaris 10 server.
Installation1 (7.5.0.2) is on /opt/mqm and Installation2 (7.5.0.0) is on /opt/mqmA.
If I run mmx against a queue manager on installation2, it returns reason code 2583 (MQRC_INSTALLATION_MISMATCH).
I tried the following but it doesn't seem to work.
Code: |
. setmqenv -n Installation2
mmx -i MMX/INI/split_file.ini
2013/08/02 11:17:34 INFO #00708: Current Log file is /var/mqm/MMX/INI/split_file.log
2013/08/02 11:17:34 INFO #00711: PerformLogging=N
2013/08/02 11:17:34 INFO #01081: The following are the parameters used for this execution.
2013/08/02 11:17:34 INFO #01091: DestructiveGet : Y
2013/08/02 11:17:34 INFO #01101: GetWithConvert : Y
2013/08/02 11:17:34 INFO #01111: Get Buffer Size : 1024000
2013/08/02 11:17:34 INFO #01121: OpenInputQShared : N
2013/08/02 11:17:34 INFO #01131: TimeOut value : 0
2013/08/02 11:17:34 INFO #01141: UseArchive : Y
2013/08/02 11:17:34 INFO #01151: ArchiveFile : mmx-archive.txt
2013/08/02 11:17:34 INFO #01169: Queue Manager Name: QMTEST
2013/08/02 11:17:34 INFO #01187: Input Queue Name : QL.TEST.SOURCE
2013/08/02 11:17:34 INFO #01197: Output Queue Count: 2
2013/08/02 11:17:34 INFO #01220: Output Queue #01 : QR.TEST.OUT1
2013/08/02 11:17:34 INFO #01220: Output Queue #02 : QR.TEST.OUT2
2013/08/02 11:17:34 ERROR #01698: MQConn CC=2 RC=2583 on connection to QMTEST
2013/08/02 11:17:34 INFO #01268: Statistics of this executions:
2013/08/02 11:17:34 INFO #01278: Messages Read : 0
2013/08/02 11:17:34 INFO #01288: Messages Written : 0
2013/08/02 11:17:34 INFO #01294: MMX is now stopping.
-bash-3.00$ mqrc 2583
2583 0x00000a17 MQRC_INSTALLATION_MISMATCH
-bash-3.00$
|
Any ideas? _________________ Yeah, well, you know, that's just, like, your opinion, man. - The Dude |
|
Back to top |
|
 |
RogerLacroix |
Posted: Fri Aug 02, 2013 10:24 am Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
LouML wrote: |
Code: |
. setmqenv -n Installation2
mmx -i MMX/INI/split_file.ini |
|
It appears the LD_LIBRARY_PATH is pointing to the wrong directory. You should add the "-k" parameter to setmqenv command. i.e.
Code: |
. setmqenv -n Installation2 -k
mmx -i MMX/INI/split_file.ini |
Regards,
Roger Lacroix
Capitalware Inc. _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Aug 02, 2013 10:34 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Check out post from early last month or before.
Depending on what you run you will have to either set an env variable specific to the program or you will have to set the libpath or equivalent, to match the installation you are using.
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|