MQSC (MQ Base-Client) Receive Adapter Behaviour when stopping Host Instance - Duplication Issue
everything looks fine:
- no more messages in queue or msgbox, messages have been written final destination, no error messages or warnings in event logs.
but:
- if hostinstance mqsc adapter associated stopped messages ever (as long hostinstace running) collected queue "reappear". have original putdate. i'd duplication of messages.
it seems if adapter never "commits" deletion of messages on queue know little mq guess.
the documentation adapter states:
" can configure mqsc adapter support non-transactional messaging when integrating mqseries queues. this, mqsc adapter uses websphere mq base-client. in case, adapter guarantees no messages lost. duplication of messages can occur under failure conditions. therefore, should use configuration option if application consuming message biztalk server or mqseries queues can handle duplication of messages. prevent loss of messages, mqsc adapter first mqget browse lock setting mqgmo_browse_first , mqgmo_lock options. adapter submits message biztalk server. if submitted message biztalk server successful, adapter destructive mqget mqgmo_msg_under_cursor option. if failure occurs while submitting message biztalk server, adapter mqget mqgmo_unlock additional operations can performed on message"
as no errors come i presume all above should have worked? seems if adapter either doesn't "understand" submission of messages bts successful or doesn't send destructive mqget mqgmo_msg_under_cursor option or if not successfully.
is problem of adapter or have used wrong setttings? or should queue settings revised (i have no control on mq manager)? cannot believe behaviour should normal restart of hostinstance not constitute failure condition, if no messages in msgbox @ time
help or tips apreciated!
i assisted customer problem , there hotfix should in case well.
http://support.microsoft.com/kb/932523
the problem when messages put distributed queue manager, default behavior messages put outside of synchpoint. z/os queue manager default behavior messages put within synchpoint (inside of unit of work). get() should use mqgmo_no_syncpoint option since messages outside of synchpoint not need committed. behavior changed 932523 should apply problem well.
good luck
BizTalk Server > BizTalk Server Adapters and Adapter Pack
Comments
Post a Comment