oracleDBbinding Notification receive port duplicates message when using ESB ItinerarySelect pipelines

    General discussion

  • BizTalk 2009 Server 2009 Enterprise 32-bit w/CU3 installed
    Adapter Pack
    WCF LOB Adapter SDK
    ESB Toolkit 2.0

    I have an oracleDBBinding receive port configured for InboundOperationType=Notification, NotifyOnListenerStart=True, and NotificationStatement=SELECT * FROM SYSADM.PS_DY_GLC_TBL.  If I select any ItinerarySelect pipeline (I want to use ItinerarySelectReceiveXml) I get duplicate StartUp messages.  The message body is identical.  The message context is identical except for the ActivityIdentity, InterChangeID, and ReceiveInstanceID GUID values.  There is a delay between the two of about 4 seconds.  But there are definitely two distinct Receive events, not one Receive and two Send events as in a pipeline debatching scenario.

    If I choose a PassThruReceive or XMLReceive pipeline I get a single message as expected.

    Can anyone assist or advise me on diagnosis or workarounds?

    Thursday, September 22, 2011 1:16 AM

All replies

  • I think this seems like an ESB detail and maybe a duplicate subscription. Usually duplicate messages occur when a duplicate subscription exists. What does your itinerary look like?


    If this answers your question, please use the "Answer" button to say so | Ben Cline
    Thursday, September 22, 2011 3:57 PM
  • My itinerary looks like the ESB MessageEnrichment sample:

    On-Ramp (ReceivePort=R_Notification)
    -->Orchestration Extender-[My orchestration instead of MessageEnricher] (2 BRE Resolvers)
    -->Orchestration Extender-Routing Service (1 Static Resolver, FILE)

    My orchestration does contain a parallel action, but I get the duplicate Receive event even before the orchestration executes (I can disable/stop ALL orchestrations and send ports in my application (not ESB) and still get the duplicate). 

    One seemingly significant fact that I left out previously is that I actually have 2 receive locations configured for notification from 2 different tables in the same oracle database.  The port binding configuration is identical except for the PollingId and NotificationStatement.  If I delete one or the other I can't reproduce the problem.  But, I really need both.

    -Tried 3 ports with different PollingId and NotificationStatement to see if I got 3 of each.  Still received 2 of each.
    -Tried using IP address instead of fqdn in one port's connection string in case it was considered for uniqueness.  Same result.

    • Edited by Vercellone Thursday, September 22, 2011 10:45 PM
    Thursday, September 22, 2011 8:44 PM
  • Check the subscriptions in the Biztalk Admin console for this message. 
    MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
    Mark As Answer or Vote As Helpful if this helps.
    Friday, September 23, 2011 6:29 AM