Announcement Announcement Module
Collapse
No announcement yet.
Message tracking Options Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Message tracking Options

    Hello,

    I have a simple requirement of polling for files in file system and uploading them to FTP server.
    I would like to know what is the best way to keep track of the files(messages) that were successfully uploaded or failed and display it to the user in the web page? (I will be deploying the application in a web application server)

    1. Does Spring Integration has any in-built functionality to list, all successful and unsuccessful messages for a period?
    2. Which is the best component to use in order to collect this information within spring integration if above functionality is not available?(eg: using wiretap??)

    Currently i am not planning to use JMX, since it might require some admin privileges.

    I am also attaching the spring Integration configuration file..

    Thanks

  • #2
    Hi!

    In general messaging is stateless and there is built-in component, who collect results of process for each Message.
    And it's OK. In classical case messaging architecture is distributed and its common goal to route messages from one system to another.
    Is a message flow process successful or not it's a task of your application.
    For FTP file uploding you can try to use this one: http://static.springsource.org/sprin...ynchronization
    And further make some logic to store results somewhere, e.g. in your DB.
    The user interface whould read your domain table from DB and shows data on the web page.

    Is it what are you looking for?
    Artem

    Comment


    • #3
      Thanks for the reply..

      As you have suggested I called a custom written method to store values in a cache when the file transfer was successfull..


      <int:transaction-synchronization-factory
      id="syncFactory">

      <int:after-commit
      expression="@processor.processAfterCommit(payload, '1')"
      channel="infoLogger" />
      <int:after-rollback
      expression="payload.renameTo(payload.absolutePath + '.FAILED') ? payload + ' renamed after faiure' : payload + 'failed to rename after failure'"
      channel="errorLogger" />
      </int:transaction-synchronization-factory>

      Comment

      Working...
      X