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.h
andleMessage(AttachmentsOutInterceptor.java:71)
at
org.apache.servicemix.soap.core.PhaseInterceptorChain.doIntercept(PhaseI
nterceptorChain.java:85)
at
org.apache.servicemix.jms.endpoints.DefaultProviderMarshaler.createMessa
ge(DefaultProviderMarshaler.java:79)
at
org.apache.servicemix.jms.endpoints.JmsProviderEndpoint.processInOnlyInS
ession(JmsProviderEndpoint.java:561)
at
org.apache.servicemix.jms.endpoints.JmsProviderEndpoint$1.doInJms(JmsPro
viderEndpoint.java:531)
at
org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:428)
at
org.apache.servicemix.jms.endpoints.JmsProviderEndpoint.processInOnly(Jm
sProviderEndpoint.java:542)
at
org.apache.servicemix.jms.endpoints.JmsProviderEndpoint.process(JmsProvi
derEndpoint.java:499)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeC
ycle.java:627)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBas
eLifeCycle.java:581)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncB
aseLifeCycle.java:535)
at
org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(Sync
LifeCycleWrapper.java:60)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(D
eliveryChannelImpl.java:623)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.j
ava: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:1
34)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto
r.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja
va: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.w
riteMultipartMessage(AttachmentsOutInterceptor.java:130)
at
org.apache.servicemix.soap.interceptors.mime.AttachmentsOutInterceptor.h
andleMessage(AttachmentsOutInterceptor.java:67)
Richa Khurana| Associate Consultant - Engineering| GlobalLogic Inc.
USA | INDIA | UKRAINE | CHINA
Office: +91.120.406.2681
www.globallogic.com <http://www.globallogic.com/>
InfoWorld Award Winner for Agile Innovation
<http://www.globallogic.com/Media/pressReleaseDetail.asp?press/65>
Disclaimer: http://www.globallogic.com/email_disclaimer.txt
<http://www.globallogic.com/email_disclaimer.txt>