Queue producer send() method failure - Weblogic

This is a discussion on Queue producer send() method failure - Weblogic ; Scenario. 3 Weblogic 8.1 servers clustered. 3 JMS Servers in the cluster (one per server) with JDBCStores for persistent messages. JMS Distributed Queue with a member on each JMS server. Question. Should the send method (i.e. QueueSender.send(Message)) fail for the ...

+ Reply to Thread
Results 1 to 4 of 4

Thread: Queue producer send() method failure

  1. Queue producer send() method failure


    Scenario.
    3 Weblogic 8.1 servers clustered.
    3 JMS Servers in the cluster (one per server) with JDBCStores for persistent messages.
    JMS Distributed Queue with a member on each JMS server.

    Question.
    Should the send method (i.e. QueueSender.send(Message)) fail for the dist. queue
    producer if the JDBC Store is offline (database down)? The following paragraph
    from the 8.1 JMS docs suggests so - A persistent message is guaranteed to be delivered
    once-and-only-once. The message cannot be lost due to a JMS provider failure,
    but it must not be delivered twice. It is not considered sent until it has been
    safely written to a file or database. WebLogic JMS writes persistent messages
    to a persistent backing store (disk-base file or JDBC-accessible database) assigned
    to each JMS server during configuration.

    But our observation is that the send method does not fail, in fact the messages
    produced to the queue.

    What is the correct behavior?

    Thanks.

  2. Re: Queue producer send() method failure


    Hi

    First, I assume this is a runtime scenario, that is the db instance was available
    during the server boot, but went down later on during runtime.

    Second, do you have the consumers attached to the queue waiting to receive messages,
    before the send happens ?

    Thanks


    "Michael Roth" wrote:
    >
    >Scenario.
    >3 Weblogic 8.1 servers clustered.
    >3 JMS Servers in the cluster (one per server) with JDBCStores for persistent
    >messages.
    >JMS Distributed Queue with a member on each JMS server.
    >
    >Question.
    >Should the send method (i.e. QueueSender.send(Message)) fail for the
    >dist. queue
    >producer if the JDBC Store is offline (database down)? The following
    >paragraph
    >from the 8.1 JMS docs suggests so - A persistent message is guaranteed
    >to be delivered
    >once-and-only-once. The message cannot be lost due to a JMS provider
    >failure,
    >but it must not be delivered twice. It is not considered sent until it
    >has been
    >safely written to a file or database. WebLogic JMS writes persistent
    >messages
    >to a persistent backing store (disk-base file or JDBC-accessible database)
    >assigned
    >to each JMS server during configuration.
    >
    >But our observation is that the send method does not fail, in fact the
    >messages
    >produced to the queue.
    >
    >What is the correct behavior?
    >
    >Thanks.



  3. Re: Queue producer send() method failure

    Are you sure that you are sending your messages persistently? There are
    various places in the WLS configuration where you can override this, and it
    will affect the way your message is sent. It's persistent by default,
    though. Also, are you sending or receiving inside a transaction?

    greg

    "Michael Roth" wrote in message
    news:3ffed76b$1@newsgroups.bea.com...
    >
    > Scenario.
    > 3 Weblogic 8.1 servers clustered.
    > 3 JMS Servers in the cluster (one per server) with JDBCStores for

    persistent messages.
    > JMS Distributed Queue with a member on each JMS server.
    >
    > Question.
    > Should the send method (i.e. QueueSender.send(Message)) fail for the dist.

    queue
    > producer if the JDBC Store is offline (database down)? The following

    paragraph
    > from the 8.1 JMS docs suggests so - A persistent message is guaranteed to

    be delivered
    > once-and-only-once. The message cannot be lost due to a JMS provider

    failure,
    > but it must not be delivered twice. It is not considered sent until it has

    been
    > safely written to a file or database. WebLogic JMS writes persistent

    messages
    > to a persistent backing store (disk-base file or JDBC-accessible database)

    assigned
    > to each JMS server during configuration.
    >
    > But our observation is that the send method does not fail, in fact the

    messages
    > produced to the queue.
    >
    > What is the correct behavior?
    >
    > Thanks.




  4. Re: Queue producer send() method failure


    Hi,

    Yes, db is started when server boots and all consumers are available before db
    shutdown. We are noticing the same bahavior for listener vs. full database shutdown.

    Thanks,
    Michael
    "Kats" wrote:
    >
    >Hi
    >
    >First, I assume this is a runtime scenario, that is the db instance was
    >available
    >during the server boot, but went down later on during runtime.
    >
    >Second, do you have the consumers attached to the queue waiting to receive
    >messages,
    >before the send happens ?
    >
    >Thanks
    >
    >
    >"Michael Roth" wrote:
    >>
    >>Scenario.
    >>3 Weblogic 8.1 servers clustered.
    >>3 JMS Servers in the cluster (one per server) with JDBCStores for persistent
    >>messages.
    >>JMS Distributed Queue with a member on each JMS server.
    >>
    >>Question.
    >>Should the send method (i.e. QueueSender.send(Message)) fail for the
    >>dist. queue
    >>producer if the JDBC Store is offline (database down)? The following
    >>paragraph
    >>from the 8.1 JMS docs suggests so - A persistent message is guaranteed
    >>to be delivered
    >>once-and-only-once. The message cannot be lost due to a JMS provider
    >>failure,
    >>but it must not be delivered twice. It is not considered sent until

    >it
    >>has been
    >>safely written to a file or database. WebLogic JMS writes persistent
    >>messages
    >>to a persistent backing store (disk-base file or JDBC-accessible database)
    >>assigned
    >>to each JMS server during configuration.
    >>
    >>But our observation is that the send method does not fail, in fact the
    >>messages
    >>produced to the queue.
    >>
    >>What is the correct behavior?
    >>
    >>Thanks.

    >



+ Reply to Thread