You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2006/12/21 09:34:53 UTC
svn commit: r489285 - in
/incubator/tuscany/java/sca/services/bindings/binding.jms/src:
main/java/org/apache/tuscany/binding/jms/
test/java/org/apache/tuscany/binding/jms/
Author: antelder
Date: Thu Dec 21 00:34:52 2006
New Revision: 489285
URL: http://svn.apache.org/viewvc?view=rev&rev=489285
Log:
Support correlation ids in response msgs and use TargetInvokerExtension in the JMStargetInvoker
Added:
incubator/tuscany/java/sca/services/bindings/binding.jms/src/test/java/org/apache/tuscany/binding/jms/JMSProxyTestCase.java (with props)
Modified:
incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSBinding.java
incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSBindingLoader0961.java
incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSProxy.java
incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSReference.java
incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSService.java
incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSTargetInvoker.java
incubator/tuscany/java/sca/services/bindings/binding.jms/src/test/java/org/apache/tuscany/binding/jms/JMSBindingLoader0961TestCase.java
incubator/tuscany/java/sca/services/bindings/binding.jms/src/test/java/org/apache/tuscany/binding/jms/JMSBindingTestCaseX.java
Modified: incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSBinding.java?view=diff&rev=489285&r1=489284&r2=489285
==============================================================================
--- incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSBinding.java (original)
+++ incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSBinding.java Thu Dec 21 00:34:52 2006
@@ -195,4 +195,19 @@
public void setCreateDestination(String create) {
}
+ public void setResponseDestinationName(String name) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setResponseDestinationType(int destination_type_queue2) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setCreateResponseDestination(String create) {
+ // TODO Auto-generated method stub
+
+ }
+
}
Modified: incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSBindingLoader0961.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSBindingLoader0961.java?view=diff&rev=489285&r1=489284&r2=489285
==============================================================================
--- incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSBindingLoader0961.java (original)
+++ incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSBindingLoader0961.java Thu Dec 21 00:34:52 2006
@@ -32,7 +32,6 @@
import org.apache.tuscany.spi.extension.LoaderExtension;
import org.apache.tuscany.spi.loader.LoaderException;
import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.LoaderUtil;
import org.apache.tuscany.spi.model.ModelObject;
import org.osoa.sca.annotations.Scope;
@@ -45,8 +44,9 @@
public static final QName BINDING_JMS =
new QName("http://tuscany.apache.org/xmlns/binding/jms/1.0-SNAPSHOT", "binding.jms");
- public static final List<String> VALID_CORRELATION_SCHEMES = Arrays.asList(new String[] {"requestmsgidtocorrelid", "requestcorrelidtocorrelid", "none"});
-
+ public static final List<String> VALID_CORRELATION_SCHEMES =
+ Arrays.asList(new String[] {"requestmsgidtocorrelid", "requestcorrelidtocorrelid", "none"});
+
public JMSBindingLoader0961(@Autowire LoaderRegistry registry) {
super(registry);
}
@@ -103,7 +103,7 @@
if ("destination".equals(elementName)) {
parseDestination(reader, jmsBinding);
} else if ("response".equals(elementName)) {
- parseResponseDestination(reader, jmsBinding);
+ parseResponse(reader, jmsBinding);
} else if ("headers".equals(elementName)) {
parseHeaders(reader, jmsBinding);
} else if ("operationAndDataBinding".equals(elementName)) {
@@ -126,32 +126,28 @@
}
}
- private void parseResourceAdapter(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
+ protected void parseResponse(XMLStreamReader reader, JMSBinding jmsBinding) {
// TODO Auto-generated method stub
- LoaderUtil.skipToEndElement(reader);
+
}
- private void parseOperation(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
+ protected void parseResourceAdapter(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
// TODO Auto-generated method stub
- LoaderUtil.skipToEndElement(reader);
}
- private void parseOperationAndDataBinding(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
+ protected void parseOperation(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
// TODO Auto-generated method stub
- LoaderUtil.skipToEndElement(reader);
}
- private void parseHeaders(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
+ protected void parseOperationAndDataBinding(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
// TODO Auto-generated method stub
- LoaderUtil.skipToEndElement(reader);
}
- private void parseResponseDestination(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
+ protected void parseHeaders(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
// TODO Auto-generated method stub
- LoaderUtil.skipToEndElement(reader);
}
- private void parseDestination(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
+ protected void parseDestination(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
String name = reader.getAttributeValue(null, "name");
if (name != null && name.length() > 0) {
jmsBinding.setDestinationName(name);
@@ -168,13 +164,11 @@
}
String create = reader.getAttributeValue(null, "create");
if (create != null && create.length() > 0) {
- jmsBinding.setCreateDestination(create);
+ jmsBinding.setCreateDestination(create);
}
- LoaderUtil.skipToEndElement(reader);
}
- private void parseURI(JMSBinding jmsBinding, String uri) {
+ protected void parseURI(JMSBinding jmsBinding, String uri) {
// TODO Auto-generated method stub
-
}
}
Modified: incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSProxy.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSProxy.java?view=diff&rev=489285&r1=489284&r2=489285
==============================================================================
--- incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSProxy.java (original)
+++ incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSProxy.java Thu Dec 21 00:34:52 2006
@@ -37,70 +37,89 @@
public class JMSProxy implements MessageListener {
protected Method operationMethod;
- private JMSResourceFactory jmsResourceFactory;
- private OperationSelector operationSelector;
- private InboundWire inboundWire;
-
- public JMSProxy(InboundWire inboundWire, JMSResourceFactory jmsResourceFactory, OperationSelector operationSelector)
- throws NamingException {
+ protected JMSResourceFactory jmsResourceFactory;
+ protected OperationSelector operationSelector;
+ protected InboundWire inboundWire;
+ protected String correlationScheme;
+
+ public JMSProxy(InboundWire inboundWire,
+ JMSResourceFactory jmsResourceFactory,
+ OperationSelector operationSelector,
+ String correlationScheme) throws NamingException {
this.jmsResourceFactory = jmsResourceFactory;
this.operationSelector = operationSelector;
this.inboundWire = inboundWire;
+ this.correlationScheme = correlationScheme;
}
- public void onMessage(Message msg) {
-
+ public void onMessage(Message requestJMSMsg) {
try {
+ Object responsePayload = invokeService(requestJMSMsg);
+ sendReply(requestJMSMsg, responsePayload);
+ } catch (Exception e) {
+ sendFaultReply(requestJMSMsg, e);
+ }
+ }
+
+ protected Object invokeService(Message requestJMSMsg) throws JMSBindingException, JMSException {
+
+ String operationName = operationSelector.getOperationName(requestJMSMsg);
+ Object requestPayload = jmsResourceFactory.getMessagePayload(requestJMSMsg);
- String operationName = operationSelector.getOperationName(msg);
- Operation op = (Operation)inboundWire.getServiceContract().getOperations().get(operationName);
+ Operation op = (Operation)inboundWire.getServiceContract().getOperations().get(operationName);
+ InvocationChain chain = inboundWire.getInvocationChains().get(op);
- InvocationChain chain = inboundWire.getInvocationChains().get(op);
- Interceptor headInterceptor = chain.getHeadInterceptor();
+ org.apache.tuscany.spi.wire.Message tuscanyRequestMsg = new MessageImpl();
+ tuscanyRequestMsg.setTargetInvoker(chain.getTargetInvoker());
+ tuscanyRequestMsg.setBody(requestPayload);
+
+ org.apache.tuscany.spi.wire.Message tuscanyResponseMsg = null;
+
+ Interceptor headInterceptor = chain.getHeadInterceptor();
+ if (headInterceptor != null) {
+ tuscanyResponseMsg = headInterceptor.invoke(tuscanyRequestMsg);
+ }
+
+ // TODO: what if headInterceptor is null?
+
+ return tuscanyResponseMsg.getBody();
+ }
- org.apache.tuscany.spi.wire.Message tuscanyMsg = new MessageImpl();
- Object payload = jmsResourceFactory.getMessagePayload(msg);
- tuscanyMsg.setBody(payload);
- tuscanyMsg.setTargetInvoker(chain.getTargetInvoker());
- org.apache.tuscany.spi.wire.Message tuscanyResMsg = null;
+ protected void sendReply(Message requestJMSMsg, Object responsePayload) {
+ try {
- if (headInterceptor != null) {
- tuscanyResMsg = headInterceptor.invoke(tuscanyMsg);
+ if (requestJMSMsg.getJMSReplyTo() == null) {
+ // assume no reply is expected
+ return;
}
- // if result is null then the method can be assumed as oneway
- if (tuscanyResMsg != null && tuscanyResMsg.getBody() != null) {
+ Session session = jmsResourceFactory.createSession();
+ Message replyJMSMsg = jmsResourceFactory.createMessage(session, responsePayload);
- sendReply(msg, operationName, tuscanyResMsg);
+ if (correlationScheme == null || "RequestMsgIDToCorrelID".equalsIgnoreCase(correlationScheme)) {
+ replyJMSMsg.setJMSCorrelationID(requestJMSMsg.getJMSMessageID());
+ } else if ("RequestCorrelIDToCorrelID".equalsIgnoreCase(correlationScheme)) {
+ replyJMSMsg.setJMSCorrelationID(requestJMSMsg.getJMSCorrelationID());
}
- } catch (JMSBindingException e) {
- throw new JMSBindingRuntimeException(e);
+ Destination destination = requestJMSMsg.getJMSReplyTo();
+ MessageProducer producer = session.createProducer(destination);
+
+ producer.send(replyJMSMsg);
+
+ producer.close();
+ session.close();
+
} catch (JMSException e) {
throw new JMSBindingRuntimeException(e);
} catch (NamingException e) {
throw new JMSBindingRuntimeException(e);
- } catch (Exception e) {
- // TODO: need to not swallow these exceptions
- e.printStackTrace();
- throw new JMSBindingRuntimeException(e);
}
-
}
- private void sendReply(Message reqMsg, String operationName, org.apache.tuscany.spi.wire.Message tuscanyResMsg)
- throws JMSException, NamingException {
-
- Session session = jmsResourceFactory.createSession();
-
- Message message = jmsResourceFactory.createMessage(session, tuscanyResMsg.getBody());
-
- Destination destination = reqMsg.getJMSReplyTo();
-
- MessageProducer producer = session.createProducer(destination);
- producer.send(message);
- producer.close();
- session.close();
+ protected void sendFaultReply(Message requestJMSMsg, Exception e) {
+ sendReply(requestJMSMsg, new JMSBindingException("exception invoking JMS service", e));
}
+
}
Modified: incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSReference.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSReference.java?view=diff&rev=489285&r1=489284&r2=489285
==============================================================================
--- incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSReference.java (original)
+++ incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSReference.java Thu Dec 21 00:34:52 2006
@@ -50,6 +50,6 @@
}
public TargetInvoker createTargetInvoker(ServiceContract contract, Operation operation) {
- return new JMSTargetInvoker(jmsResourceFactory, jmsBinding, operation.getName(),operationSelector, false);
+ return new JMSTargetInvoker(jmsResourceFactory, jmsBinding, operation.getName(),operationSelector);
}
}
Modified: incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSService.java?view=diff&rev=489285&r1=489284&r2=489285
==============================================================================
--- incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSService.java (original)
+++ incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSService.java Thu Dec 21 00:34:52 2006
@@ -80,7 +80,7 @@
Destination destination = session.createQueue(jmsBinding.getDestinationName());
consumer = session.createConsumer(destination);
- consumer.setMessageListener(new JMSProxy(getInboundWire(),jmsResourceFactory,operationSelector));
+ consumer.setMessageListener(new JMSProxy(getInboundWire(),jmsResourceFactory,operationSelector, jmsBinding.getCorrelationScheme()));
jmsResourceFactory.startConnection();
Modified: incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSTargetInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSTargetInvoker.java?view=diff&rev=489285&r1=489284&r2=489285
==============================================================================
--- incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSTargetInvoker.java (original)
+++ incubator/tuscany/java/sca/services/bindings/binding.jms/src/main/java/org/apache/tuscany/binding/jms/JMSTargetInvoker.java Thu Dec 21 00:34:52 2006
@@ -25,46 +25,28 @@
import javax.jms.JMSException;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
-import javax.jms.ObjectMessage;
import javax.jms.Session;
import javax.naming.NamingException;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.TargetInvoker;
+import org.apache.tuscany.spi.extension.TargetInvokerExtension;
/**
* Invoke a JMS reference.
*
* @version $Rev: 449970 $ $Date: 2006-09-26 06:05:35 -0400 (Tue, 26 Sep 2006) $
*/
-public class JMSTargetInvoker implements TargetInvoker {
+public class JMSTargetInvoker extends TargetInvokerExtension {
private JMSBinding jmsBinding;
private String operationName;
private JMSResourceFactory jmsResourceFactory;
private OperationSelector operationSelector;
- protected boolean xmlStyle;
- public JMSTargetInvoker(JMSResourceFactory jmsResourceFactory,JMSBinding jmsBinding, String operationName, OperationSelector operationSelector, boolean xmlStyle){
+ public JMSTargetInvoker(JMSResourceFactory jmsResourceFactory,JMSBinding jmsBinding, String operationName, OperationSelector operationSelector){
+ super(null, null, null);
this.jmsBinding = jmsBinding;
this.jmsResourceFactory = jmsResourceFactory;
this.operationName = operationName;
this.operationSelector = operationSelector;
- this.xmlStyle = xmlStyle;
- }
-
- /* By the time I receive the args it should have been converted to
- * XML by the data binding framework.
- */
- public Message invoke(Message msg) throws InvocationRuntimeException {
- try {
- Object[] args = (Object[])msg.getBody();
- Object resp = invokeTarget(args,(short)0);
- msg.setBody(resp);
- } catch (Exception e) {
- msg.setBody(e.getCause());
- }
- return msg;
}
public Object invokeTarget(Object payload,final short sequence)throws InvocationTargetException {
@@ -79,25 +61,6 @@
}
- public Object clone() throws CloneNotSupportedException {
- try {
- return super.clone();
- } catch (CloneNotSupportedException e) {
- throw new AssertionError(e);
- }
- }
-
- public boolean isOptimizable() {
- return false;
- }
-
- public boolean isCacheable() {
- return false;
- }
-
- public void setCacheable(boolean cacheable) {
- }
-
private Object sendReceiveMessage(Object[] payload) throws JMSException, NamingException, JMSBindingException{
Session session = jmsResourceFactory.createSession();
Modified: incubator/tuscany/java/sca/services/bindings/binding.jms/src/test/java/org/apache/tuscany/binding/jms/JMSBindingLoader0961TestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/bindings/binding.jms/src/test/java/org/apache/tuscany/binding/jms/JMSBindingLoader0961TestCase.java?view=diff&rev=489285&r1=489284&r2=489285
==============================================================================
--- incubator/tuscany/java/sca/services/bindings/binding.jms/src/test/java/org/apache/tuscany/binding/jms/JMSBindingLoader0961TestCase.java (original)
+++ incubator/tuscany/java/sca/services/bindings/binding.jms/src/test/java/org/apache/tuscany/binding/jms/JMSBindingLoader0961TestCase.java Thu Dec 21 00:34:52 2006
@@ -43,6 +43,12 @@
}
}
+ public void testDestination() throws LoaderException, XMLStreamException {
+ XMLStreamReader reader = createReader("<binding.jms><destination name=\"foo\"/></binding.jms>");
+ JMSBinding jmsBinding = loader.load(null, null, reader, null);
+ assertEquals("foo", jmsBinding.getDestinationName());
+ }
+
public void testInitialContextFactory() throws LoaderException, XMLStreamException {
XMLStreamReader reader = createReader("<binding.jms initialContextFactory=\"myicf\"></binding.jms>");
JMSBinding jmsBinding = loader.load(null, null, reader, null);
Modified: incubator/tuscany/java/sca/services/bindings/binding.jms/src/test/java/org/apache/tuscany/binding/jms/JMSBindingTestCaseX.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/bindings/binding.jms/src/test/java/org/apache/tuscany/binding/jms/JMSBindingTestCaseX.java?view=diff&rev=489285&r1=489284&r2=489285
==============================================================================
--- incubator/tuscany/java/sca/services/bindings/binding.jms/src/test/java/org/apache/tuscany/binding/jms/JMSBindingTestCaseX.java (original)
+++ incubator/tuscany/java/sca/services/bindings/binding.jms/src/test/java/org/apache/tuscany/binding/jms/JMSBindingTestCaseX.java Thu Dec 21 00:34:52 2006
@@ -65,7 +65,7 @@
binding.setOperationSelectorPropertyName("scaOperationName");
JMSResourceFactory rf = new SimpleJMSResourceFactory(binding);
rf.setDataBinding(new XMLTextMsgDataBinding());
- JMSTargetInvoker invoker = new JMSTargetInvoker(rf, binding, "getGreetings", new DefaultOperationSelector(binding), true);
+ JMSTargetInvoker invoker = new JMSTargetInvoker(rf, binding, "getGreetings", new DefaultOperationSelector(binding));
return invoker;
}
Added: incubator/tuscany/java/sca/services/bindings/binding.jms/src/test/java/org/apache/tuscany/binding/jms/JMSProxyTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/bindings/binding.jms/src/test/java/org/apache/tuscany/binding/jms/JMSProxyTestCase.java?view=auto&rev=489285
==============================================================================
--- incubator/tuscany/java/sca/services/bindings/binding.jms/src/test/java/org/apache/tuscany/binding/jms/JMSProxyTestCase.java (added)
+++ incubator/tuscany/java/sca/services/bindings/binding.jms/src/test/java/org/apache/tuscany/binding/jms/JMSProxyTestCase.java Thu Dec 21 00:34:52 2006
@@ -0,0 +1,78 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.binding.jms;
+
+import javax.jms.Destination;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageProducer;
+import javax.jms.ObjectMessage;
+import javax.jms.Session;
+import javax.naming.NamingException;
+
+import junit.framework.TestCase;
+
+import org.easymock.EasyMock;
+
+public class JMSProxyTestCase extends TestCase {
+
+ /**
+ * Tests the jms response msg has correlation id set to the request msg id
+ */
+ public void testOnMessageRequestMsgIDToCorrelID() throws NamingException, JMSException {
+
+ String id = "123";
+
+ MessageProducer producer = EasyMock.createNiceMock(MessageProducer.class);
+
+ Session session = EasyMock.createNiceMock(Session.class);
+ EasyMock.expect(session.createProducer(EasyMock.isA(Destination.class))).andReturn(producer);
+ EasyMock.replay(session);
+
+ ObjectMessage responseJMSMsg = EasyMock.createMock(ObjectMessage.class);
+ responseJMSMsg.setJMSCorrelationID(id);
+ EasyMock.replay(responseJMSMsg);
+
+
+ JMSResourceFactory jmsResourceFactory = EasyMock.createMock(JMSResourceFactory.class);
+ EasyMock.expect(jmsResourceFactory.createSession()).andReturn(session);
+ EasyMock.expect(jmsResourceFactory.createMessage(EasyMock.eq(session), EasyMock.isA(Exception.class))).andReturn(responseJMSMsg);
+
+ JMSProxy jmsProxy = new JMSProxy(null, jmsResourceFactory, null, null);
+
+ Message requestJMSMsg = EasyMock.createMock(Message.class);
+ EasyMock.expect(requestJMSMsg.getJMSReplyTo()).andReturn(new Destination(){});
+ EasyMock.expect(requestJMSMsg.getJMSReplyTo()).andReturn(new Destination(){});
+ EasyMock.expect(requestJMSMsg.getJMSMessageID()).andReturn(id);
+
+ producer.send(EasyMock.isA(Message.class));
+ EasyMock.replay(producer);
+
+ EasyMock.replay(requestJMSMsg);
+ EasyMock.replay(jmsResourceFactory);
+
+ jmsProxy.onMessage(requestJMSMsg);
+
+ EasyMock.verify(requestJMSMsg);
+ EasyMock.verify(jmsResourceFactory);
+ EasyMock.verify(producer);
+ EasyMock.verify(session);
+ }
+
+}
Propchange: incubator/tuscany/java/sca/services/bindings/binding.jms/src/test/java/org/apache/tuscany/binding/jms/JMSProxyTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/services/bindings/binding.jms/src/test/java/org/apache/tuscany/binding/jms/JMSProxyTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org