You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Gert Vanthienen <ge...@skynet.be> on 2007/03/14 09:16:30 UTC
Service/endpoint combination sometimes not found
L.S.,
This morning, we had problems with ServiceMix not finding some
service/endpoint, causing messages not to be processed. An excerpt of
the log:
08:56:08,152 | WARN | pool-component.servicemix-ftp-thread-3 |
FtpComponent | mon.endpoints.ConsumerEndpoint 148 | Target
service ({http://www.javafresh.eu/servicemix}archive-wiretap) and
endpoint (out) specified, but no matching endpoint found. Only the
service will be used for routing.
08:56:08,152 | WARN | pool-component.servicemix-ftp-thread-3 |
DefaultBroker | rvicemix.jbi.nmr.DefaultBroker 341 |
ServiceName ({http://www.javafresh.eu/servicemix}archive-wiretap)
specified for routing, but can't find it registered
08:56:08,527 | ERROR | pool-component.servicemix-ftp-thread-3 |
FtpComponent | rvicemix.ftp.FtpPollerEndpoint 280 | Failed
to process file: /out/GASTRO-order-20070309123804794.xml. Reason:
javax.jbi.messaging.MessagingException: Could not find route for
exchange: InOnly[...
These services had been running for several weeks without problems up to
now. I solved the problem by removing the SA from the deploy directory
and then copying it back again. The service assembly was redeployed and
everything was working again as before. Do you have any idea what might
have caused these problems? How can we avoid them?
Regards,
Gert Vanthienen
Re: Service/endpoint combination sometimes not found
Posted by Gert Vanthienen <ge...@skynet.be>.
Just another thought:
We have two <eip:wire-tap /> elements with the same service name, but
another endpoint name ({in} and {out}). Could this be confusing to
ServiceMix? On the other hand, we have used the same naming pattern for
our <ftp:poller /> and <ftp:sender /> elements, which work fine...
Gert
Gert Vanthienen wrote:
> Guillaume,
>
>
> I don't think this problem is caused by redeployment, because this is
> the first version ever deployed to our production instance of ServiceMix.
>
> As you might have read in my other post, these log files are extremely
> large. They also contain a lot of errors, mostly due to XML files
> that are being uploaded incompletely to the FTP server. Anyway, I
> find several types of exceptions in the log files (listed below). Is
> it possible that ServiceMix is somehow getting 'overloaded' after
> polling for an invalid file for to long?
>
>
> Gert
>
>
> Exception 1:
> Failed to process file: <name of file>. Reason:
> javax.jbi.messaging.MessagingException:
> javax.xml.transform.TransformerException:
> org.xml.sax.SAXParseException: XML document structures must start and
> end within the same entity.
> -> when an invalid file is added to the FTP server
>
> Exception 2:
> 10:25:39,487 | ERROR | pool-component.servicemix-ftp-thread-2 |
> FtpComponent | rvicemix.ftp.FtpPollerEndpoint 280 |
> Failed to process file: /out/JAVA-order-20070216082625604.xml. Reason:
> java.lang.NullPointerException
> java.lang.NullPointerException
> at
> org.apache.servicemix.eip.patterns.WireTap.processAsync(WireTap.java:193)
> at org.apache.servicemix.eip.EIPEndpoint.process(EIPEndpoint.java:160)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
>
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441)
>
> at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
>
> at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
>
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
>
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>
> at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>
> at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>
> at java.lang.Thread.run(Thread.java:595)
>
> Exception 3:
> 10:25:38,768 | WARN | pool-flow.seda.servicemix-eip-thread-1 |
> DeliveryChannelImpl | .messaging.DeliveryChannelImpl 583 | Error
> calling listener: null
> java.lang.NullPointerException
> at
> org.apache.servicemix.jbi.monitoring.StatisticsService.onExchangeAccepted(StatisticsService.java:310)
>
> at
> org.apache.servicemix.jbi.monitoring.StatisticsService$3.exchangeAccepted(StatisticsService.java:188)
>
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:581)
>
> at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
>
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
>
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>
> at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>
> at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>
> at java.lang.Thread.run(Thread.java:595)
>
> Exception 4:
> 09:16:11,653 | ERROR | pool-component.servicemix-ftp-thread-19 |
> FtpComponent | rvicemix.ftp.FtpPollerEndpoint 280 |
> Failed to process file: /out/JAVA-order-20070218163944833.xml. Reason:
> java.lang.NullPointerException
> java.lang.NullPointerException
> at
> org.apache.servicemix.ftp.FtpPollerEndpoint.processFile(FtpPollerEndpoint.java:295)
>
> at
> org.apache.servicemix.ftp.FtpPollerEndpoint.processFileAndDelete(FtpPollerEndpoint.java:268)
>
> at
> org.apache.servicemix.ftp.FtpPollerEndpoint$1.run(FtpPollerEndpoint.java:247)
>
> at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>
> at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>
> at java.lang.Thread.run(Thread.java:595)
>
> Exception 5:
> javax.jbi.messaging.MessagingException:
> javax.xml.transform.TransformerException:
> java.io.FileNotFoundException: \in\marmo-product-20070219010122013.xml
> (The system cannot find the path specified)
> at
> org.apache.servicemix.jbi.util.MessageUtil$NormalizedMessageImpl.<init>(MessageUtil.java:163)
>
> at
> org.apache.servicemix.jbi.util.MessageUtil.copy(MessageUtil.java:63)
> at
> org.apache.servicemix.eip.patterns.WireTap.sendToListenerAndTarget(WireTap.java:246)
>
> at
> org.apache.servicemix.eip.patterns.WireTap.processAsync(WireTap.java:204)
> at org.apache.servicemix.eip.EIPEndpoint.process(EIPEndpoint.java:160)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
>
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441)
>
> at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
>
> at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
>
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
>
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>
> at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>
> at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>
> at java.lang.Thread.run(Thread.java:595)
>
>
>
>
> Guillaume Nodet wrote:
>> Could you check the log and see if something weird has happened
>> before these errors appear ? I've already seen ServiceMix running
>> out of file descriptors and the hot deployer would behave madly,
>> thus telling the container that some jars were removed ....
>> However such a thing usually requires restarting the container
>> (and it seems you did not do that).
>> I think I have already seen such errors after a redeploy that
>> failed somehow: these problems may be caused to old
>> versions of the ServiceEndpoint being held somehow ...
>> IIRC, the matching is done on the object itself and not on
>> the service / endpoint name. This needs further investigation ...
>>
>> On 3/14/07, Gert Vanthienen <ge...@skynet.be> wrote:
>>>
>>> L.S.,
>>>
>>>
>>> This morning, we had problems with ServiceMix not finding some
>>> service/endpoint, causing messages not to be processed. An excerpt of
>>> the log:
>>>
>>> 08:56:08,152 | WARN | pool-component.servicemix-ftp-thread-3 |
>>> FtpComponent | mon.endpoints.ConsumerEndpoint 148 | Target
>>> service ({http://www.javafresh.eu/servicemix}archive-wiretap) and
>>> endpoint (out) specified, but no matching endpoint found. Only the
>>> service will be used for routing.
>>> 08:56:08,152 | WARN | pool-component.servicemix-ftp-thread-3 |
>>> DefaultBroker | rvicemix.jbi.nmr.DefaultBroker 341 |
>>> ServiceName ({http://www.javafresh.eu/servicemix}archive-wiretap)
>>> specified for routing, but can't find it registered
>>> 08:56:08,527 | ERROR | pool-component.servicemix-ftp-thread-3 |
>>> FtpComponent | rvicemix.ftp.FtpPollerEndpoint 280 | Failed
>>> to process file: /out/GASTRO-order-20070309123804794.xml. Reason:
>>> javax.jbi.messaging.MessagingException: Could not find route for
>>> exchange: InOnly[...
>>>
>>> These services had been running for several weeks without problems
>>> up to
>>> now. I solved the problem by removing the SA from the deploy directory
>>> and then copying it back again. The service assembly was redeployed
>>> and
>>> everything was working again as before. Do you have any idea what
>>> might
>>> have caused these problems? How can we avoid them?
>>>
>>>
>>> Regards,
>>>
>>> Gert Vanthienen
>>>
>>
>>
>>
>
>
Re: Service/endpoint combination sometimes not found
Posted by Gert Vanthienen <ge...@skynet.be>.
Guillaume,
I don't think this problem is caused by redeployment, because this is
the first version ever deployed to our production instance of ServiceMix.
As you might have read in my other post, these log files are extremely
large. They also contain a lot of errors, mostly due to XML files that
are being uploaded incompletely to the FTP server. Anyway, I find
several types of exceptions in the log files (listed below). Is it
possible that ServiceMix is somehow getting 'overloaded' after polling
for an invalid file for to long?
Gert
Exception 1:
Failed to process file: <name of file>. Reason:
javax.jbi.messaging.MessagingException:
javax.xml.transform.TransformerException: org.xml.sax.SAXParseException:
XML document structures must start and end within the same entity.
-> when an invalid file is added to the FTP server
Exception 2:
10:25:39,487 | ERROR | pool-component.servicemix-ftp-thread-2 |
FtpComponent | rvicemix.ftp.FtpPollerEndpoint 280 | Failed
to process file: /out/JAVA-order-20070216082625604.xml. Reason:
java.lang.NullPointerException
java.lang.NullPointerException
at
org.apache.servicemix.eip.patterns.WireTap.processAsync(WireTap.java:193)
at org.apache.servicemix.eip.EIPEndpoint.process(EIPEndpoint.java:160)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
Exception 3:
10:25:38,768 | WARN | pool-flow.seda.servicemix-eip-thread-1 |
DeliveryChannelImpl | .messaging.DeliveryChannelImpl 583 | Error
calling listener: null
java.lang.NullPointerException
at
org.apache.servicemix.jbi.monitoring.StatisticsService.onExchangeAccepted(StatisticsService.java:310)
at
org.apache.servicemix.jbi.monitoring.StatisticsService$3.exchangeAccepted(StatisticsService.java:188)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:581)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
Exception 4:
09:16:11,653 | ERROR | pool-component.servicemix-ftp-thread-19 |
FtpComponent | rvicemix.ftp.FtpPollerEndpoint 280 | Failed
to process file: /out/JAVA-order-20070218163944833.xml. Reason:
java.lang.NullPointerException
java.lang.NullPointerException
at
org.apache.servicemix.ftp.FtpPollerEndpoint.processFile(FtpPollerEndpoint.java:295)
at
org.apache.servicemix.ftp.FtpPollerEndpoint.processFileAndDelete(FtpPollerEndpoint.java:268)
at
org.apache.servicemix.ftp.FtpPollerEndpoint$1.run(FtpPollerEndpoint.java:247)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
Exception 5:
javax.jbi.messaging.MessagingException:
javax.xml.transform.TransformerException: java.io.FileNotFoundException:
\in\marmo-product-20070219010122013.xml (The system cannot find the path
specified)
at
org.apache.servicemix.jbi.util.MessageUtil$NormalizedMessageImpl.<init>(MessageUtil.java:163)
at org.apache.servicemix.jbi.util.MessageUtil.copy(MessageUtil.java:63)
at
org.apache.servicemix.eip.patterns.WireTap.sendToListenerAndTarget(WireTap.java:246)
at
org.apache.servicemix.eip.patterns.WireTap.processAsync(WireTap.java:204)
at org.apache.servicemix.eip.EIPEndpoint.process(EIPEndpoint.java:160)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
Guillaume Nodet wrote:
> Could you check the log and see if something weird has happened
> before these errors appear ? I've already seen ServiceMix running
> out of file descriptors and the hot deployer would behave madly,
> thus telling the container that some jars were removed ....
> However such a thing usually requires restarting the container
> (and it seems you did not do that).
> I think I have already seen such errors after a redeploy that
> failed somehow: these problems may be caused to old
> versions of the ServiceEndpoint being held somehow ...
> IIRC, the matching is done on the object itself and not on
> the service / endpoint name. This needs further investigation ...
>
> On 3/14/07, Gert Vanthienen <ge...@skynet.be> wrote:
>>
>> L.S.,
>>
>>
>> This morning, we had problems with ServiceMix not finding some
>> service/endpoint, causing messages not to be processed. An excerpt of
>> the log:
>>
>> 08:56:08,152 | WARN | pool-component.servicemix-ftp-thread-3 |
>> FtpComponent | mon.endpoints.ConsumerEndpoint 148 | Target
>> service ({http://www.javafresh.eu/servicemix}archive-wiretap) and
>> endpoint (out) specified, but no matching endpoint found. Only the
>> service will be used for routing.
>> 08:56:08,152 | WARN | pool-component.servicemix-ftp-thread-3 |
>> DefaultBroker | rvicemix.jbi.nmr.DefaultBroker 341 |
>> ServiceName ({http://www.javafresh.eu/servicemix}archive-wiretap)
>> specified for routing, but can't find it registered
>> 08:56:08,527 | ERROR | pool-component.servicemix-ftp-thread-3 |
>> FtpComponent | rvicemix.ftp.FtpPollerEndpoint 280 | Failed
>> to process file: /out/GASTRO-order-20070309123804794.xml. Reason:
>> javax.jbi.messaging.MessagingException: Could not find route for
>> exchange: InOnly[...
>>
>> These services had been running for several weeks without problems up to
>> now. I solved the problem by removing the SA from the deploy directory
>> and then copying it back again. The service assembly was redeployed and
>> everything was working again as before. Do you have any idea what might
>> have caused these problems? How can we avoid them?
>>
>>
>> Regards,
>>
>> Gert Vanthienen
>>
>
>
>
Re: Service/endpoint combination sometimes not found
Posted by Guillaume Nodet <gn...@gmail.com>.
Could you check the log and see if something weird has happened
before these errors appear ? I've already seen ServiceMix running
out of file descriptors and the hot deployer would behave madly,
thus telling the container that some jars were removed ....
However such a thing usually requires restarting the container
(and it seems you did not do that).
I think I have already seen such errors after a redeploy that
failed somehow: these problems may be caused to old
versions of the ServiceEndpoint being held somehow ...
IIRC, the matching is done on the object itself and not on
the service / endpoint name. This needs further investigation ...
On 3/14/07, Gert Vanthienen <ge...@skynet.be> wrote:
>
> L.S.,
>
>
> This morning, we had problems with ServiceMix not finding some
> service/endpoint, causing messages not to be processed. An excerpt of
> the log:
>
> 08:56:08,152 | WARN | pool-component.servicemix-ftp-thread-3 |
> FtpComponent | mon.endpoints.ConsumerEndpoint 148 | Target
> service ({http://www.javafresh.eu/servicemix}archive-wiretap) and
> endpoint (out) specified, but no matching endpoint found. Only the
> service will be used for routing.
> 08:56:08,152 | WARN | pool-component.servicemix-ftp-thread-3 |
> DefaultBroker | rvicemix.jbi.nmr.DefaultBroker 341 |
> ServiceName ({http://www.javafresh.eu/servicemix}archive-wiretap)
> specified for routing, but can't find it registered
> 08:56:08,527 | ERROR | pool-component.servicemix-ftp-thread-3 |
> FtpComponent | rvicemix.ftp.FtpPollerEndpoint 280 | Failed
> to process file: /out/GASTRO-order-20070309123804794.xml. Reason:
> javax.jbi.messaging.MessagingException: Could not find route for
> exchange: InOnly[...
>
> These services had been running for several weeks without problems up to
> now. I solved the problem by removing the SA from the deploy directory
> and then copying it back again. The service assembly was redeployed and
> everything was working again as before. Do you have any idea what might
> have caused these problems? How can we avoid them?
>
>
> Regards,
>
> Gert Vanthienen
>
--
Cheers,
Guillaume Nodet
------------------------
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/