Announcement Announcement Module
Collapse
No announcement yet.
Messages not being removed from MessageStore Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Messages not being removed from MessageStore

    Hi,

    I am using Spring Integration 2.0.3.

    I have a problem using the JdbcMessageStore together with the ClaimCheck and Aggregator components and would appreciate some help with understanding how it should be configured.

    The problem is that the messages from the INT_MESSAGE table do not seem to be removed after they have been processed which I was expecting.

    I can see that there is a method called removeMessage in MessageStore but I can only see it called by the Delayer class.

    Looking at the code in ClaimCheckOutTransformer and CorrelatingMessageHandler I cannot find anywhere that messages are removed from the MessageStore although it seems that message groups are removed as expected.

    Is there something I have missed in how to use these components? Is the removal of processed messages something that I must do myself?

    Many thanks,
    Olof
    Last edited by oloake; Apr 5th, 2011, 04:23 AM.

  • #2
    The Aggregator case relies on the removal of the MessageGroup. The Claim Check on the other hand relies on individual Messages. So, these are actually using different methods to add/remove (Aggregator relying on methods defined in the MessageGroupStore interface while Claim Check relies on those defined in MessageStore).

    I do think we should provide the option for Claim Check to actually remove each Message when it's checked *out*. There is a bit of an issue there in terms of transactional semantics (i.e. if the Message is removed, it should ideally be synchronized with an existing transaction if active, otherwise the Message could be lost if there is some rollback-triggering failure downstream from the check-out). In any case, I think we probably need a JIRA issue to track this situation... feel free to open one.

    What I'd like to understand, if you could provide a bit more detail, is how you are using the Claim Check and Aggregator *together*. Can you provide a bit more information?

    Thanks,
    -Mark

    Comment


    • #3
      Hi,

      Thanks for the swift reply.

      I did some more investigation after your response and realized I was wrong about the Aggregator. I mixed up MessageStore and MessageGroupStore so this issue does not affect Aggregator.

      But for Claim Check and MessageStore it seems that there is an issue. I understand the concern regarding transactions but doesn't the same problem exist when removing MessageGroups in the MessageGroupStore?

      I will open a JIRA issue for this so that there could be an option to remove messages when they are checked out. I discovered the problem when I ran out of disk space as the database had grown to big and I think there is a potential memory leak if you use the SimpleMessageStore implementation as well...

      Anyway, thanks for making a really great framework that is a joy to use :-)

      Regards,
      Olof

      Comment


      • #4
        Great. Please do open the issue. I actually thought about this same issue when working with Claim Check myself last week.

        Regards,
        -Mark

        Comment

        Working...
        X