Results 1 to 3 of 3

Thread: Facilitate logging

  1. #1
    Join Date
    Oct 2008
    Location
    Auxerre, France
    Posts
    16

    Default Facilitate logging

    Hi,

    Is there something planned (or maybe already made) to easily get traces of all treatments applied to a message from it's entrance in the message bus to it's last treatment ?

    Currently I try to log all the steps in a database with the message headers ,using AOP, but it seems quite complicated to recreate all the workflow, because there is no header id kept through the treatments.

    Don't you thinks it would be interesting to add an unique Id to the firsts

    messages bus entrance/creation and keep it trough cloning and transforming ?
    Last edited by OsoPardo; Nov 18th, 2008 at 07:01 AM.

  2. #2
    Join Date
    Oct 2005
    Location
    Boston, MA
    Posts
    2,853

    Default

    I guess this issue captures this goal most closely:
    http://jira.springframework.org/browse/INT-87

    I have tentatively scheduled that for 1.1 M2. Please feel free to add comments to the issue.

    Thanks,
    Mark

  3. #3
    Join Date
    Oct 2008
    Location
    Auxerre, France
    Posts
    16

    Default

    Thanks for your reply,

    This is a different and interesting approach and perhaps sufficient for my needs :
    I currently try to have some "real time" monitoring, putting interceptors on each channels and using AOP on each transformer and channel adapters to update my database on each action, whereas the header history allow to only make database update when an error is catch or with an interceptor on the last message bus component, maybe it's enough, I don't no yet...

    I see two eventual issues :
    -if there is a crash before having time to update the database with error handler or last interceptor, but after some successful operations, like sending a message copy to distant third application : we have no trace and so send a duplicate message, that might not be correctly handle by third application
    -if we need additional specifics informations only accessible from a channel adapter, transformer or other component we'll have to put them as header property, that is quite borrowing when it's a native spring integration component or/and MessageHeaders is immutable

    In both case I think another relative need will be a getName() method on all component which might need to be monitored.

    Meanwhile I created a simple ChannelInterceptorAdapter to add a "workflow id" but this involved to create new MessageHeaders...

    (Sorry if I too badly hurt english language, I shouldn't write such long sentences :o )

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •