Persistent message not deleted from JDBC store - Weblogic

This is a discussion on Persistent message not deleted from JDBC store - Weblogic ; I have an MDB publishes a persistent message to a topic. The durable subscriber receives the message successfully, but the message is not deleted from the store - on WebLogic server console I see the message status is "pending", and ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: Persistent message not deleted from JDBC store

  1. Persistent message not deleted from JDBC store


    I have an MDB publishes a persistent message to a topic. The durable subscriber
    receives the message successfully, but the message is not deleted from the store
    - on WebLogic server console I see the message status is "pending", and if I restart
    the server the message is redelivered.

    In a similar situation I have another publisher (not a MDB) that publishes a persistent
    message to another topic, and when the durable subscriber receives the message
    I can see it is removed from the store.

    In both cases I configure the message listeners (both durable) exactly the same
    way, and the message publishers are configured the same way. The only difference
    is the publishe() method is called from a MDB in the 1st case and from a plain
    java object in the 2nd case.

    I'm running WebLogic 6.1 sp3/Oracle 8.1.6.

    Thanks ...

  2. Re: Persistent message not deleted from JDBC store

    Redelivered messages are almost always due to the app consumer
    failing to acknowledge/commit their consumed messages. When
    this the case, they are often due to the appliation
    sending the same message twice.

    For an MDB, instrument your onMessage code with a
    try {} catch (Throwable t) {t.printStackTrace()}
    To see if it is throwing exceptions.

    Also check your server log to see if any warnings
    or errors are getting logged.

    Tom

    Michelle Lian wrote:
    > I have an MDB publishes a persistent message to a topic. The durable subscriber
    > receives the message successfully, but the message is not deleted from the store
    > - on WebLogic server console I see the message status is "pending", and if I restart
    > the server the message is redelivered.
    >
    > In a similar situation I have another publisher (not a MDB) that publishes a persistent
    > message to another topic, and when the durable subscriber receives the message
    > I can see it is removed from the store.
    >
    > In both cases I configure the message listeners (both durable) exactly the same
    > way, and the message publishers are configured the same way. The only difference
    > is the publishe() method is called from a MDB in the 1st case and from a plain
    > java object in the 2nd case.
    >
    > I'm running WebLogic 6.1 sp3/Oracle 8.1.6.
    >
    > Thanks ...



  3. Re: Persistent message not deleted from JDBC store


    I figured the problem was because the listener who listens to the topic didn't
    call TopicSession.commit() so the message was not consumed successfully and remained
    in the store. A very stupid mistake in the code.

    Thanks!

    Tom Barnes wrote:
    >Redelivered messages are almost always due to the app consumer
    >failing to acknowledge/commit their consumed messages. When
    >this the case, they are often due to the appliation
    >sending the same message twice.
    >
    >For an MDB, instrument your onMessage code with a
    > try {} catch (Throwable t) {t.printStackTrace()}
    >To see if it is throwing exceptions.
    >
    >Also check your server log to see if any warnings
    >or errors are getting logged.
    >
    >Tom
    >
    >Michelle Lian wrote:
    >> I have an MDB publishes a persistent message to a topic. The durable

    >subscriber
    >> receives the message successfully, but the message is not deleted from

    >the store
    >> - on WebLogic server console I see the message status is "pending",

    >and if I restart
    >> the server the message is redelivered.
    >>
    >> In a similar situation I have another publisher (not a MDB) that publishes

    >a persistent
    >> message to another topic, and when the durable subscriber receives

    >the message
    >> I can see it is removed from the store.
    >>
    >> In both cases I configure the message listeners (both durable) exactly

    >the same
    >> way, and the message publishers are configured the same way. The only

    >difference
    >> is the publishe() method is called from a MDB in the 1st case and from

    >a plain
    >> java object in the 2nd case.
    >>
    >> I'm running WebLogic 6.1 sp3/Oracle 8.1.6.
    >>
    >> Thanks ...

    >



+ Reply to Thread