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/