Uploaded image for project: 'James Server'
  1. James Server
  2. JAMES-1108

Rewrite ActiveMQQueue to use BlobMessages and a custom BlobTransferPolicy

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.0-M1
    • Fix Version/s: 3.0-M2
    • Component/s: None
    • Labels:
      None

      Description

      When using ActiveMQ for the mail queue we can make use of BlobMessages which allows us to stream the complete MimeMessage as Body. So we don't need to load it in memory

        Activity

        Hide
        norman Norman Maurer added a comment -

        Done.. we now use BlobMessages for storing our Mail instances.. Everything except the MimeMessage get stored as JMS Property. The MimeMessage will get stored via an custom BlobTransferPolicy, which streams directly to the filesystem. With the new implementation we need a way less memory as before. Even while bombing james with 500 concurrent smtp clients I saw a heap usage of 70 - 90 mb only with the new implementation.

        Show
        norman Norman Maurer added a comment - Done.. we now use BlobMessages for storing our Mail instances.. Everything except the MimeMessage get stored as JMS Property. The MimeMessage will get stored via an custom BlobTransferPolicy, which streams directly to the filesystem. With the new implementation we need a way less memory as before. Even while bombing james with 500 concurrent smtp clients I saw a heap usage of 70 - 90 mb only with the new implementation.

          People

          • Assignee:
            norman Norman Maurer
            Reporter:
            norman Norman Maurer
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development