[
https://issues.apache.org/jira/browse/CXF-6323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14519274#comment-14519274
]
Akitoshi Yoshida commented on CXF-6323:
---------------------------------------
I have a code that I prepared for CXF-4209 but it was for 2.7.x for that time.
At that time, Dennis and I were updating the ws/rm code and I postponed to
integrate this patch to avoid any conflicts.
I wanted to update the code for 3.1.x/3.0.x, but there are many changes in
ws/rm and an automatic merge didn't work.
Recently, one of my colleagues has looked at the code and could merge the
change locally, so he could upload this patch to CXF-4209. The limitation of
this code is that the RMStore's transaction behavior isn't changed. So you
cannot couple the backend transaction with the RMStore's even if they use the
same DB. So, this means, your backend may be invoked more than once if the
system goes down between the successful invocation of the backend service and
the RMStore update. I'll ask him today.
@Jim,
When the message is already stored in DS, the client likely has got the ACK. In
that case, the server doesn't need to send any ACK. If the client hasn't got
it, the client will resend the message and will get the ack from the recovered
DS. Does this make sense? Maybe I am not exactly following your concern.
> WS-RM redelivery not implemented
> --------------------------------
>
> Key: CXF-6323
> URL: https://issues.apache.org/jira/browse/CXF-6323
> Project: CXF
> Issue Type: Bug
> Components: WS-* Components
> Affects Versions: 2.7.14, 3.0.4
> Reporter: Jochen Riedlinger
>
> We build an application based on CXF using WS-RM.
> Since we have/had some issues I tried with 2.7.14 and 3.0.4.
> After the baisc things worked we tested the reliability of the WS-RM
> implementation and crashed the application after the message was put in the
> store.
> I expected that the application-server tries to redeliver the message after
> restart. Unfortunately that never happens.
> Debugging the problem and taking a look into the source code I found that
> code (in org.apache.cxf.ws.rm.RMManager):
> {code:java}
> private void reconverDestinationSequence(Endpoint endpoint, Conduit conduit,
> Destination d,
> DestinationSequence ds) {
> d.addSequence(ds, false);
> //TODO add the redelivery code
> }
> {code}
> It would be nice if someone could correct/implement this;-)
> Befor that you the WS-RM implementation is not reliable.;-)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)