We are seeing the OutOfMemoryError still happening with Aspose.Email 25.4 and a 1GB msg file. Used the following code:
MsgLoadOptions msgLoadOptions = new MsgLoadOptions();
msgLoadOptions.setPreserveEmbeddedMessageFormat(true);
MailMessage mailMessage = MailMessage.load(valueOf(filePath), msgLoadOptions);
stacktrace:
java.lang.OutOfMemoryError: Java heap space
at com.aspose.email.system.io.MemoryStream.(Unknown Source)
at com.aspose.email.zui.a(SourceFile:351)
at com.aspose.email.zui.c(SourceFile:508)
at com.aspose.email.zui.a(SourceFile:115)
at com.aspose.email.zui.(SourceFile:75)
at com.aspose.email.FileFormatUtil.c(SourceFile:469)
at com.aspose.email.MapiMessage.e(SourceFile:1980)
at com.aspose.email.MailMessage.a(SourceFile:1589)
at com.aspose.email.MailMessage.c(SourceFile:1525)
at com.aspose.email.MailMessage.load(SourceFile:1477)
at com.stormed.processing.flattening.extractor.AsposeMsgExtractor.doExtractWork(AsposeMsgExtractor.java:143)
at com.stormed.processing.flattening.extractor.Extractor.extract(Extractor.java:47)
at com.stormed.processing.flattening.extractor.Extractor.extract(Extractor.java:40)
at com.stormed.processing.flattening.Extract.compressedFile(Extract.java:114)
at com.stormed.processing.flattening.Flattener.extract(Flattener.java:111)
at com.stormed.processing.ProcessingMain.extractAttachments(ProcessingMain.java:1033)
at com.stormed.processing.ProcessingMain.flattening(ProcessingMain.java:978)
at com.stormed.processing.ProcessingMain.extraction(ProcessingMain.java:494)
at com.stormed.processing.ProcessingMainTest$$Lambda/0x000001772b112260.execute(Unknown Source)
at org.junit.jupiter.api.AssertDoesNotThrow.assertDoesNotThrow(AssertDoesNotThrow.java:49)
at org.junit.jupiter.api.AssertDoesNotThrow.assertDoesNotThrow(AssertDoesNotThrow.java:36)
at org.junit.jupiter.api.Assertions.assertDoesNotThrow(Assertions.java:3199)
at com.stormed.processing.ProcessingMainTest.processingAndExtraction(ProcessingMainTest.java:475)
at java.base/java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(DirectMethodHandle$Holder)
at java.base/java.lang.invoke.LambdaForm$MH/0x000001772b191000.invoke(LambdaForm$MH)
at java.base/java.lang.invoke.Invokers$Holder.invokeExact_MT(Invokers$Holder)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(DirectMethodHandleAccessor.java:153)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:775)
at org.junit.platform.commons.support.ReflectionSupport.invokeMethod(ReflectionSupport.java:479)
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)