genorimo MimeMessage extensibility internal behaviour vs sun implementation OOM issue. --------------------------------------------------------------------------------------
Key: GERONIMO-4129 URL: https://issues.apache.org/jira/browse/GERONIMO-4129 Project: Geronimo Issue Type: Bug Security Level: public (Regular issues) Components: mail Affects Versions: 2.1.1 Reporter: Stefano Bagnara Assignee: Rick McGuire Priority: Minor In Apache JAMES we use a MimeMessageWrapper class that is an extension for MimeMessage providing some sort of lazy loading for streams coming from files and db records. To do that we work with protected and public fields/methods from MimeMessage. Even the most simple test is current running OOM during the parse(). In order to run the tests you will need the following files: http://svn.apache.org/repos/asf/james/server/trunk/core-library/src/main/java/org/apache/james/core/MimeMessageWrapper.java http://svn.apache.org/repos/asf/james/server/trunk/core-library/src/main/java/org/apache/james/util/InternetPrintWriter.java http://svn.apache.org/repos/asf/james/server/trunk/core-library/src/main/java/org/apache/james/util/io/IOUtil.java http://svn.apache.org/repos/asf/james/server/trunk/phoenix-deployment/src/test/org/apache/james/core/MimeMessageWrapperTest.java This code also uses Disposable and ContainerUtils from avalon: they are simply a marker interface for the dispose() method and ContainerUtils.dispose() is a method to call dispose only if the object is Disposable. if you don't care of unclosed resources you can remove Disposable and the ContainerUtils. calls. RFC2822Headers from mailets is instead a constants collection for rfc headers: you can safely replace that with literals. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.