James Server
  1. James Server
  2. JAMES-1108

Rewrite ActiveMQQueue to use BlobMessages and a custom BlobTransferPolicy

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major 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

        Mark Thomas made changes -
        Workflow Default workflow, editable Closed status [ 12566508 ] jira [ 12582058 ]
        Mark Thomas made changes -
        Workflow jira [ 12525889 ] Default workflow, editable Closed status [ 12566508 ]
        Norman Maurer made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Assignee Norman Maurer [ norman ]
        Resolution Fixed [ 1 ]
        Hide
        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 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.
        Norman Maurer created issue -

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development