Author: cschneider
Date: Thu Feb 6 10:40:30 2014
New Revision: 1565154
URL: http://svn.apache.org/r1565154
Log:
CXF-5543 Removing dependency jms dependency from jaxrs systests. Some other
cleanup and fixes
Added:
cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSMessageUtilTest.java
- copied, changed from r1565122,
cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSUtilsTest.java
Removed:
cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSUtilsTest.java
Modified:
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/MessageStreamUtil.java
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/util/JMSMessageConverter.java
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/util/JMSUtil.java
cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/MessageIdAsCorrelationIdJMSConduitTest.java
cxf/trunk/systests/jaxrs/pom.xml
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSJmsTest.java
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JMSBookStore.java
cxf/trunk/systests/transport-jms/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java
cxf/trunk/systests/transport-jms/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml
cxf/trunk/testutils/src/main/java/org/apache/cxf/testutil/common/AbstractBusClientServerTestBase.java
Modified:
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java?rev=1565154&r1=1565153&r2=1565154&view=diff
==============================================================================
---
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
(original)
+++
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
Thu Feb 6 10:40:30 2014
@@ -40,7 +40,7 @@ import org.springframework.jms.listener.
import org.springframework.jms.listener.DefaultMessageListenerContainer;
/**
- * Factory to create JmsTemplates and JmsListeners from configuration and
context information
+ * Factory to create jms helper objects from configuration and context
information
*/
public final class JMSFactory {
static final String MESSAGE_ENDPOINT_FACTORY = "MessageEndpointFactory";
Modified:
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java?rev=1565154&r1=1565153&r2=1565154&view=diff
==============================================================================
---
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
(original)
+++
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
Thu Feb 6 10:40:30 2014
@@ -55,7 +55,10 @@ import org.apache.cxf.transport.jms.uri.
import org.apache.cxf.transport.jms.util.JMSMessageConverter;
import org.apache.cxf.transport.jms.util.JMSUtil;
-public final class JMSMessageUtils {
+/**
+ * Static util methods for converting cxf to jms messages and vice a versa
+ */
+final class JMSMessageUtils {
private static final Logger LOG =
LogUtils.getL7dLogger(JMSMessageUtils.class);
private JMSMessageUtils() {
Modified:
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/MessageStreamUtil.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/MessageStreamUtil.java?rev=1565154&r1=1565153&r2=1565154&view=diff
==============================================================================
---
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/MessageStreamUtil.java
(original)
+++
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/MessageStreamUtil.java
Thu Feb 6 10:40:30 2014
@@ -28,7 +28,7 @@ import org.apache.cxf.io.CachedOutputStr
import org.apache.cxf.message.Exchange;
import org.apache.cxf.message.Message;
-public final class MessageStreamUtil {
+final class MessageStreamUtil {
private MessageStreamUtil() {
}
Modified:
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/util/JMSMessageConverter.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/util/JMSMessageConverter.java?rev=1565154&r1=1565153&r2=1565154&view=diff
==============================================================================
---
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/util/JMSMessageConverter.java
(original)
+++
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/util/JMSMessageConverter.java
Thu Feb 6 10:40:30 2014
@@ -25,6 +25,7 @@ import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.ObjectMessage;
import javax.jms.Session;
+import javax.jms.StreamMessage;
import javax.jms.TextMessage;
/**
@@ -67,6 +68,9 @@ public class JMSMessageConverter {
return bytes;
} else if (message instanceof ObjectMessage) {
return ((ObjectMessage)message).getObject();
+ } else if (message instanceof StreamMessage) {
+ StreamMessage streamMessage = (StreamMessage)message;
+ return streamMessage.readObject();
} else {
throw new IllegalArgumentException("Unsupported message type " +
nullSafeClassName(message));
}
Modified:
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/util/JMSUtil.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/util/JMSUtil.java?rev=1565154&r1=1565153&r2=1565154&view=diff
==============================================================================
---
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/util/JMSUtil.java
(original)
+++
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/util/JMSUtil.java
Thu Feb 6 10:40:30 2014
@@ -43,7 +43,7 @@ public final class JMSUtil {
boolean pubSubNoLocal) {
ResourceCloser closer = new ResourceCloser();
try {
- final String messageSelector = "JMSCorrelationID = '" +
correlationId + "'";
+ String messageSelector = correlationId == null ? null :
"JMSCorrelationID = '" + correlationId + "'";
MessageConsumer consumer =
closer.register(session.createConsumer(replyToDestination, messageSelector,
pubSubNoLocal));
javax.jms.Message replyMessage = consumer.receive(receiveTimeout);
@@ -63,8 +63,8 @@ public final class JMSUtil {
return new RuntimeException(e.getMessage(), e);
}
- public static String createCorrelationId(final String prefix, long i) {
- String index = Long.toHexString(i);
+ public static String createCorrelationId(final String prefix, long
sequenceNUm) {
+ String index = Long.toHexString(sequenceNUm);
StringBuilder id = new StringBuilder(prefix);
id.append(CORRELATTION_ID_PADDING, 0, 16 - index.length());
id.append(index);
Copied:
cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSMessageUtilTest.java
(from r1565122,
cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSUtilsTest.java)
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSMessageUtilTest.java?p2=cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSMessageUtilTest.java&p1=cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSUtilsTest.java&r1=1565122&r2=1565154&rev=1565154&view=diff
==============================================================================
---
cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSUtilsTest.java
(original)
+++
cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSMessageUtilTest.java
Thu Feb 6 10:40:30 2014
@@ -21,14 +21,11 @@ package org.apache.cxf.transport.jms;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
-import java.util.UUID;
-import java.util.concurrent.atomic.AtomicLong;
-import org.apache.cxf.transport.jms.util.JMSUtil;
import org.junit.Assert;
import org.junit.Test;
-public class JMSUtilsTest extends Assert {
+public class JMSMessageUtilTest extends Assert {
@Test
public void testGetEncoding() throws IOException {
@@ -44,62 +41,4 @@ public class JMSUtilsTest extends Assert
}
}
- @Test
- public void testCorrelationIDGeneration() {
- final String conduitId = UUID.randomUUID().toString().replaceAll("-",
"");
- // test min edge case
- AtomicLong messageMinCount = new AtomicLong(0);
- String correlationID =
- JMSUtil.createCorrelationId(conduitId, messageMinCount.get());
-
- String expected = conduitId + "0000000000000000";
- assertEquals("The correlationID value does not match expected value",
- expected, correlationID);
- assertEquals("The correlationID value does not match expected length",
- 48, correlationID.length());
-
- // test max edge case
- AtomicLong messageMaxCount = new AtomicLong(0xFFFFFFFFFFFFFFFFL);
-
- correlationID =
- JMSUtil.createCorrelationId(conduitId, messageMaxCount.get());
-
- expected = conduitId + "ffffffffffffffff";
- assertEquals("The correlationID value does not match expected value",
- expected, correlationID);
- assertEquals("The correlationID value does not match expected length",
- 48, correlationID.length());
-
- // test overflow case
- AtomicLong overflowCount = new AtomicLong(0xFFFFFFFFFFFFFFFFL);
-
- correlationID =
- JMSUtil.createCorrelationId(conduitId,
overflowCount.incrementAndGet());
-
- expected = conduitId + "0000000000000000";
- assertEquals("The correlationID value does not match expected value",
- expected, correlationID);
- assertEquals("The correlationID value does not match expected length",
- 48, correlationID.length());
-
- // test sequential flow
- AtomicLong messageSequenceCount = new AtomicLong(0);
- correlationID =
- JMSUtil.createCorrelationId(conduitId,
messageSequenceCount.incrementAndGet());
-
- expected = conduitId + "0000000000000001";
- assertEquals("The correlationID value does not match expected value",
- expected, correlationID);
- assertEquals("The correlationID value does not match expected length",
- 48, correlationID.length());
-
- correlationID =
- JMSUtil.createCorrelationId(conduitId,
messageSequenceCount.incrementAndGet());
-
- expected = conduitId + "0000000000000002";
- assertEquals("The correlationID value does not match expected value",
- expected, correlationID);
- assertEquals("The correlationID value does not match expected length",
- 48, correlationID.length());
- }
}
Modified:
cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/MessageIdAsCorrelationIdJMSConduitTest.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/MessageIdAsCorrelationIdJMSConduitTest.java?rev=1565154&r1=1565153&r2=1565154&view=diff
==============================================================================
---
cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/MessageIdAsCorrelationIdJMSConduitTest.java
(original)
+++
cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/MessageIdAsCorrelationIdJMSConduitTest.java
Thu Feb 6 10:40:30 2014
@@ -40,7 +40,6 @@ public class MessageIdAsCorrelationIdJMS
private static final String SERVICE_QUEUE = "test";
private static final String BROKER_URI =
"vm://localhost?broker.persistent=false";
private ConnectionFactory connectionFactory;
- //private String requestMessageId;
@Test
public void testSendReceiveWithTempReplyQueue() throws Exception {
Modified: cxf/trunk/systests/jaxrs/pom.xml
URL:
http://svn.apache.org/viewvc/cxf/trunk/systests/jaxrs/pom.xml?rev=1565154&r1=1565153&r2=1565154&view=diff
==============================================================================
--- cxf/trunk/systests/jaxrs/pom.xml (original)
+++ cxf/trunk/systests/jaxrs/pom.xml Thu Feb 6 10:40:30 2014
@@ -161,11 +161,6 @@
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
- <artifactId>cxf-rt-transports-jms</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-features-clustering</artifactId>
<version>${project.version}</version>
</dependency>
Modified:
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSJmsTest.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSJmsTest.java?rev=1565154&r1=1565153&r2=1565154&view=diff
==============================================================================
---
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSJmsTest.java
(original)
+++
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSJmsTest.java
Thu Feb 6 10:40:30 2014
@@ -19,12 +19,14 @@
package org.apache.cxf.systest.jaxrs;
+import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
+import javax.jms.BytesMessage;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
@@ -44,8 +46,6 @@ import org.apache.cxf.jaxrs.client.WebCl
import org.apache.cxf.jaxrs.model.AbstractResourceInfo;
import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
import org.apache.cxf.testutil.common.EmbeddedJMSBrokerLauncher;
-import org.apache.cxf.transport.jms.JMSMessageUtils;
-import org.apache.cxf.transport.jms.util.JMSUtil;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -241,10 +241,11 @@ public class JAXRSJmsTest extends Abstra
private void checkBookInResponse(Session session, Destination
replyToDestination,
long bookId, String bookName) throws
Exception {
MessageConsumer consumer = session.createConsumer(replyToDestination);
- Message jmsMessage = consumer.receive(300000);
- org.apache.cxf.message.Message cxfMessage = new
org.apache.cxf.message.MessageImpl();
- JMSMessageUtils.retrieveAndSetPayload(cxfMessage, jmsMessage);
- Book b = readBook(cxfMessage.getContent(InputStream.class));
+ BytesMessage jmsMessage = (BytesMessage)consumer.receive(300000);
+ byte[] bytes = new byte[(int)jmsMessage.getBodyLength()];
+ jmsMessage.readBytes(bytes);
+ InputStream is = new ByteArrayInputStream(bytes);
+ Book b = readBook(is);
assertEquals(bookId, b.getId());
assertEquals(bookName, b.getName());
}
@@ -274,8 +275,9 @@ public class JAXRSJmsTest extends Abstra
throws Exception {
MessageProducer producer = session.createProducer(destination);
- Message message = JMSUtil.createAndSetPayload(
- writeBook(new Book("JMS OneWay", 125L)), session, "byte");
+ byte[] payload = writeBook(new Book("JMS OneWay", 125L));
+ BytesMessage message = session.createBytesMessage();
+ message.writeBytes(payload);
message.setStringProperty("Content-Type", "application/xml");
message.setStringProperty(org.apache.cxf.message.Message.REQUEST_URI,
"/bookstore/oneway");
message.setStringProperty(org.apache.cxf.message.Message.HTTP_REQUEST_METHOD,
"PUT");
@@ -287,8 +289,9 @@ public class JAXRSJmsTest extends Abstra
private void postBook(Session session, Destination destination,
Destination replyTo)
throws Exception {
MessageProducer producer = session.createProducer(destination);
-
- Message message = JMSUtil.createAndSetPayload(writeBook(new
Book("JMS", 3L)), session, "byte");
+ byte[] payload = writeBook(new Book("JMS", 3L));
+ BytesMessage message = session.createBytesMessage();
+ message.writeBytes(payload);
message.setJMSReplyTo(replyTo);
// or, if oneway,
// message.setStringProperty("OnewayRequest", "true");
@@ -328,5 +331,4 @@ public class JAXRSJmsTest extends Abstra
return bos.toByteArray();
}
-
}
Modified:
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JMSBookStore.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JMSBookStore.java?rev=1565154&r1=1565153&r2=1565154&view=diff
==============================================================================
---
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JMSBookStore.java
(original)
+++
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JMSBookStore.java
Thu Feb 6 10:40:30 2014
@@ -25,11 +25,11 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
+import javax.jms.BytesMessage;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
-import javax.jms.Message;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.naming.Context;
@@ -50,7 +50,6 @@ import javax.xml.bind.Marshaller;
import org.apache.cxf.jaxrs.ext.Oneway;
import org.apache.cxf.jaxrs.ext.ProtocolHeaders;
import org.apache.cxf.testutil.common.EmbeddedJMSBrokerLauncher;
-import org.apache.cxf.transport.jms.util.JMSUtil;
@Path("/bookstore")
public class JMSBookStore {
@@ -161,9 +160,8 @@ public class JMSBookStore {
private void postOneWayBook(Session session, Destination destination, Book
book)
throws Exception {
MessageProducer producer = session.createProducer(destination);
-
- Message message = JMSUtil.createAndSetPayload(writeBook(book),
session, "byte");
-
+ BytesMessage message = session.createBytesMessage();
+ message.writeBytes(writeBook(book));
producer.send(message);
producer.close();
}
Modified:
cxf/trunk/systests/transport-jms/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/systests/transport-jms/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java?rev=1565154&r1=1565153&r2=1565154&view=diff
==============================================================================
---
cxf/trunk/systests/transport-jms/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java
(original)
+++
cxf/trunk/systests/transport-jms/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java
Thu Feb 6 10:40:30 2014
@@ -643,14 +643,10 @@ public class SOAPJMSTestSuiteTest extend
ResourceCloser closer = new ResourceCloser();
try {
Session session = JMSFactory.createJmsSessionFactory(jmsConfig,
closer).createSession();
-
- final Destination replyToDestination =
jmsConfig.getReplyToDestination(session, null);
- Message jmsMessage =
JMSTestUtil.buildJMSMessageFromTestCase(testcase, session, replyToDestination);
+ Destination targetDest = jmsConfig.getTargetDestination(session);
+ Destination replyToDestination =
jmsConfig.getReplyToDestination(session, null);
JMSSender sender = JMSFactory.createJmsSender(jmsConfig, null);
- Destination targetDest =
-
jmsConfig.getDestinationResolver().resolveDestinationName(session,
-
jmsConfig.getTargetDestination(),
-
jmsConfig.isReplyPubSubDomain());
+ Message jmsMessage =
JMSTestUtil.buildJMSMessageFromTestCase(testcase, session, replyToDestination);
sender.sendMessage(closer, session, targetDest, jmsMessage);
Message replyMessage = JMSUtil.receive(session,
replyToDestination,
jmsMessage.getJMSMessageID(), 10000, true);
Modified:
cxf/trunk/systests/transport-jms/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml
URL:
http://svn.apache.org/viewvc/cxf/trunk/systests/transport-jms/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml?rev=1565154&r1=1565153&r2=1565154&view=diff
==============================================================================
---
cxf/trunk/systests/transport-jms/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml
(original)
+++
cxf/trunk/systests/transport-jms/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml
Thu Feb 6 10:40:30 2014
@@ -350,8 +350,7 @@
<targetService/>
<contentType>text/xml; charset=UTF-8</contentType>
<soapAction/>
- <requestURI>jms:jndi:dynamicQueues/testqueue1002
- </requestURI>
+ <requestURI>jms:jndi:dynamicQueues/testqueue1002</requestURI>
<messageBody/>
</requestMessage>
<responseMessage>
Modified:
cxf/trunk/testutils/src/main/java/org/apache/cxf/testutil/common/AbstractBusClientServerTestBase.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/testutils/src/main/java/org/apache/cxf/testutil/common/AbstractBusClientServerTestBase.java?rev=1565154&r1=1565153&r2=1565154&view=diff
==============================================================================
---
cxf/trunk/testutils/src/main/java/org/apache/cxf/testutil/common/AbstractBusClientServerTestBase.java
(original)
+++
cxf/trunk/testutils/src/main/java/org/apache/cxf/testutil/common/AbstractBusClientServerTestBase.java
Thu Feb 6 10:40:30 2014
@@ -65,6 +65,7 @@ public abstract class AbstractBusClientS
BusFactory.setDefaultBus(staticBus);
return staticBus;
}
+
public static Bus createStaticBus() throws Exception {
return createStaticBus(null);
}