Repository: cxf Updated Branches: refs/heads/3.1.x-fixes 979fe8e65 -> 94135fcc4
[CXF-7135] Updating JMS ConnectionFactoryFeature to support InterceptorProvider Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/94135fcc Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/94135fcc Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/94135fcc Branch: refs/heads/3.1.x-fixes Commit: 94135fcc40750b573c193cb14eab99d51dd04c16 Parents: 979fe8e Author: Sergey Beryozkin <[email protected]> Authored: Mon Nov 21 10:02:19 2016 +0000 Committer: Sergey Beryozkin <[email protected]> Committed: Mon Nov 21 10:07:10 2016 +0000 ---------------------------------------------------------------------- .../transport/jms/ConnectionFactoryFeature.java | 31 +++++++++++++------- 1 file changed, 21 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/94135fcc/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/ConnectionFactoryFeature.java ---------------------------------------------------------------------- diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/ConnectionFactoryFeature.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/ConnectionFactoryFeature.java index dca3e43..ee0dfaa 100644 --- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/ConnectionFactoryFeature.java +++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/ConnectionFactoryFeature.java @@ -26,6 +26,7 @@ import org.apache.cxf.endpoint.Client; import org.apache.cxf.endpoint.Server; import org.apache.cxf.feature.AbstractFeature; import org.apache.cxf.interceptor.Fault; +import org.apache.cxf.interceptor.InterceptorProvider; import org.apache.cxf.message.Message; import org.apache.cxf.phase.AbstractPhaseInterceptor; import org.apache.cxf.phase.Phase; @@ -47,17 +48,14 @@ public class ConnectionFactoryFeature extends AbstractFeature { @Override public void initialize(Client client, Bus bus) { - client.getEndpoint().getOutInterceptors().add(new AbstractPhaseInterceptor<Message>(Phase.PREPARE_SEND) { - public void handleMessage(Message message) throws Fault { - Conduit conduit = message.getExchange().getConduit(message); - if (conduit instanceof JMSConduit) { - JMSConduit jmsConduit = (JMSConduit)conduit; - jmsConduit.getJmsConfig().setConnectionFactory(connectionFactory); - } - } - }); + client.getEndpoint().getOutInterceptors().add(new JMSConduitConfigOutInterceptor()); super.initialize(client, bus); } + @Override + public void initialize(InterceptorProvider provider, Bus bus) { + provider.getOutInterceptors().add(new JMSConduitConfigOutInterceptor()); + super.initialize(provider, bus); + } @Override public void initialize(Server server, Bus bus) { @@ -68,5 +66,18 @@ public class ConnectionFactoryFeature extends AbstractFeature { } super.initialize(server, bus); } - + private class JMSConduitConfigOutInterceptor extends AbstractPhaseInterceptor<Message> { + JMSConduitConfigOutInterceptor() { + super(Phase.PREPARE_SEND); + } + + @Override + public void handleMessage(Message message) throws Fault { + Conduit conduit = message.getExchange().getConduit(message); + if (conduit instanceof JMSConduit) { + JMSConduit jmsConduit = (JMSConduit)conduit; + jmsConduit.getJmsConfig().setConnectionFactory(connectionFactory); + } + } + } }
