I implemented large document handling to TN to process large FlatFile inbound.I set tn.BigDocThreshold = 200000,tn.xml.xqlThreshold = 50000.
When a large FlatFile to 400k arrived,TN processed it as large document.TN could recognize it,and invoke corresponding process rule.In the process rule service,the inbound flatfile was saved to DB first,and then was mapped to internal XML format.When I wanted to generate XML string via documentToXMLString service,exception “2005-05-10 05:30:51 PDT [ISU.0000.9999W] An exception occurred invoking a processing service for document 58m34k000f39bavq0000002l. The processing service was Inbound.LHFlatFile.Customer:BU830ToPIP4A3, and the original error message was: java.lang.reflect.InvocationTargetException: OutOfMemoryError. [TRNSERV.000014.000027]” occured.
Our environment is wM IS 6.1 with fixes IS_6-1_Fix21 ,IS_6-1_FP1,IS_6-1_FP2,TNS_6-1_Fix11,TNS_6-1_Fix15,TNS_6-1_Fix4.And the JAVA_MIN_MEM=128M, JAVA_MAX_MEM=512M.watt.server.recordToDocument.bufferSize is default.
JAVA_MAX_MEM of 512M is pretty small if you will be processing files of 400K even with large document processing methods. IS and TN by themselves require a pretty good chunk of that memory if you have a decent number of partners, profiles, rules, etc. even if you aren’t doing much processing.
Do you have the option to increase the amount of physical memory on the server or at least bump up the amount allocated to IS?
Hi,
Chris,thanks for your response.TN large document handling process the inbound large document as stream yet.
Mark,after I allocated more memory to IS,JAVA_MIN_MEM=512M, JAVA_MAX_MEM=1024M,TN could process inbound large document about 900k.
But I encountered new problems.I need transform the inbound large FlatFile to internal XML format.So a large flatfile about 900K will be transformed a XML string about 16M.The problem is,so large XMl string got stuck in Broker.It can not be subscribed by the trigger.And it seems like IS_6-1_Fix20,IS_6-1_Fix7 can not fix this issue.