Hi,
I have a file poller which
polls for PDF and TIFF Files. These files once polled are marshaled using
CustomFileMarshaler extending from BinaryFileMarshaller which has the following
overridden APIs-
@Override
public
void
readMessage(MessageExchange messageExchange, NormalizedMessage
normalizedMessage,
InputStream inputStream, String path) throws IOException,
JBIException {
try
{
super.readMessage(messageExchange,
normalizedMessage, inputStream, path);
String tempFilePathFull = storeUploadedFileInFS(normalizedMessage,
path,
path.substring(path.lastIndexOf(".")));
normalizedMessage.setContent(new
StringSource(
UtilConstants.FILE_POLLER_CUSTOM_TAG_START +
tempFilePathFull +
UtilConstants.FILE_POLLER_CUSTOM_TAG_END));
} catch (IOException
exception) {
exception.printStackTrace();
throw
exception;
}
}
storeUploadedFileInFS(..
creates temp copy of the file being polled)
This works
completely fine with SMX3.2.x but fails once ported to FuseESB3.4 throwing the
below stack trace. Kindly help.
WARN -
FileComponent
- Message in file C:\inbox\Cred_Appr_BCA1.pdf could not be handled successfully:
java.io.IOException:
Stream
closed
org.apache.servicemix.soap.api.Fault:
java.io.IOException: Stream closed
at
org.apache.servicemix.soap.interceptors.mime.AttachmentsOutInterceptor.handleMessage(AttachmentsOutInterceptor.java:71)
at
org.apache.servicemix.soap.core.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:85)
at
org.apache.servicemix.jms.endpoints.DefaultProviderMarshaler.createMessage(DefaultProviderMarshaler.java:79)
at
org.apache.servicemix.jms.endpoints.JmsProviderEndpoint.processInOnlyInSession(JmsProviderEndpoint.java:561)
at
org.apache.servicemix.jms.endpoints.JmsProviderEndpoint$1.doInJms(JmsProviderEndpoint.java:531)
at
org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:428)
at
org.apache.servicemix.jms.endpoints.JmsProviderEndpoint.processInOnly(JmsProviderEndpoint.java:542)
at
org.apache.servicemix.jms.endpoints.JmsProviderEndpoint.process(JmsProviderEndpoint.java:499)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
at
org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:623)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:168)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by:
java.io.IOException: Stream closed
at
java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:145)
at
java.io.BufferedInputStream.read(BufferedInputStream.java:308)
at
java.io.FilterInputStream.read(FilterInputStream.java:90)
at
javax.activation.DataHandler.writeTo(DataHandler.java:293)
at
javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1350)
at
javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:845)
at
javax.mail.internet.MimeMultipart.writeTo(MimeMultipart.java:361)
at
com.sun.mail.handlers.multipart_mixed.writeTo(multipart_mixed.java:85)
at
javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:869)
at
javax.activation.DataHandler.writeTo(DataHandler.java:302)
at
javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1350)
at
javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1683)
at
org.apache.servicemix.soap.interceptors.mime.AttachmentsOutInterceptor.writeMultipartMessage(AttachmentsOutInterceptor.java:130)
at
org.apache.servicemix.soap.interceptors.mime.AttachmentsOutInterceptor.handleMessage(AttachmentsOutInterceptor.java:67)
Richa
Khurana| Associate Consultant - Engineering| GlobalLogic
Inc.
Office:
+91.120.406.2681
www.globallogic.com
InfoWorld Award Winner for Agile
Innovation
Disclaimer:
http://www.globallogic.com/email_disclaimer.txt