[ 
https://issues.apache.org/jira/browse/CXF-6531?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Schneider resolved CXF-6531.
--------------------------------------
    Resolution: Not A Problem

Can be solved by using redelivery limits

> Exception-triggerring messages are re-delivered in endless loop
> ---------------------------------------------------------------
>
>                 Key: CXF-6531
>                 URL: https://issues.apache.org/jira/browse/CXF-6531
>             Project: CXF
>          Issue Type: Bug
>          Components: JMS, Transports
>    Affects Versions: 3.0.5
>            Reporter: Waldemar Szostak
>            Assignee: Christian Schneider
>            Priority: Critical
>
> In one-way communication (fire & forget), if:
> * there is an exception thrown by the user code, or 
> * the message is not a valid SOAP message, or 
> * the message's SOAP body is not a valid XML, 
> the exception is not handled, but instead propagated down to the message 
> listener causing the session to be rolled back (and thus the message to be 
> un-acknowledged), which sort of puts the message back in the topic and makes 
> it eligible for a re-delivery.
> Of course, the message itself is not modified, so we have a circle..
> Even though this is one-way communication, I would either expect a fault 
> message to be generated, or the exception to be logged as error and have the 
> message acknowledged ('removed from the topic'). The latter scenario at least 
> for validation or unmarshalling exception - the exception will always be 
> generated then (unlike the user code exceptions which may be due to temporary 
> problems).
> In my project, I need transactions in my fire&forget communication to ensure 
> the message will be processed, despite any temporary problems, eg, with the 
> database (=exceptions from my code). However, in situations when a client 
> sends an invalid message to my service, I definitely do not want this message 
> to block my service by being constantly re-delivered.
> Especially, please note that currently I have no control via my code or CXF  
> configuration to have such invalid XML messages simply disregarded. Either I 
> need to turn off transactions (which I do not want to do because of my 
> business exceptions which should cause the message to be re-delivered), or 
> override the is-one-way property (see also JMSDestination.processExceptions):
> {code}message.getExchange().setOneWay(false);{code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to