You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by de...@apache.org on 2008/12/15 11:17:48 UTC
svn commit: r726668 - in /activemq/trunk/activemq-core/src:
main/java/org/apache/activemq/transport/stomp/
test/java/org/apache/activemq/transport/stomp/
Author: dejanb
Date: Mon Dec 15 02:17:47 2008
New Revision: 726668
URL: http://svn.apache.org/viewvc?rev=726668&view=rev
Log:
fix for AMQ-1989 and a couple of improvements for Stomp Java client
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/ProtocolConverter.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompConnection.java
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/transport/stomp/StompTest.java
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/ProtocolConverter.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/ProtocolConverter.java?rev=726668&r1=726667&r2=726668&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/ProtocolConverter.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/ProtocolConverter.java Mon Dec 15 02:17:47 2008
@@ -226,6 +226,7 @@
Map<String, String> headers = command.getHeaders();
String stompTx = headers.get(Stomp.Headers.TRANSACTION);
+ headers.remove("transaction");
ActiveMQMessage message = convertMessage(command);
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompConnection.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompConnection.java?rev=726668&r1=726667&r2=726668&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompConnection.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompConnection.java Mon Dec 15 02:17:47 2008
@@ -109,7 +109,7 @@
public void connect(String username, String password) throws Exception {
HashMap<String, String> headers = new HashMap();
headers.put("login", username);
- headers.put("password", password);
+ headers.put("passcode", password);
StompFrame frame = new StompFrame("CONNECT", headers);
sendFrame(frame.toString());
}
@@ -120,14 +120,17 @@
}
public void send(String destination, String message) throws Exception {
- send(destination, message, null);
+ send(destination, message, null, null);
}
-
- public void send(String destination, String message, HashMap<String, String> headers) throws Exception {
+
+ public void send(String destination, String message, String transaction, HashMap<String, String> headers) throws Exception {
if (headers == null) {
headers = new HashMap<String, String>();
}
headers.put("destination", destination);
+ if (transaction != null) {
+ headers.put("transaction", transaction);
+ }
StompFrame frame = new StompFrame("SEND", headers, message.getBytes());
sendFrame(frame.toString());
}
Modified: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/transport/stomp/StompTest.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/transport/stomp/StompTest.java?rev=726668&r1=726667&r2=726668&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/transport/stomp/StompTest.java (original)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/transport/stomp/StompTest.java Mon Dec 15 02:17:47 2008
@@ -22,6 +22,7 @@
import java.net.URI;
import java.net.URISyntaxException;
import java.net.UnknownHostException;
+import java.util.HashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -29,7 +30,6 @@
import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.MapMessage;
-import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.ObjectMessage;
@@ -46,6 +46,7 @@
import org.apache.activemq.broker.jmx.BrokerViewMBean;
import org.apache.activemq.command.ActiveMQQueue;
import org.apache.activemq.command.ActiveMQTextMessage;
+import org.apache.activemq.transport.stomp.Stomp.Headers.Subscribe;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -913,6 +914,23 @@
assertEquals(view.getDurableTopicSubscribers().length, 0);
}
+ public void testMessageIdHeader() throws Exception {
+ stompConnection.connect("system", "manager");
+
+ stompConnection.begin("tx1");
+ stompConnection.send("/queue/" + getQueueName(), "msg", "tx1", null);
+ stompConnection.commit("tx1");
+
+ StompFrame connect = stompConnection.receive();
+ if (!connect.getAction().equals(Stomp.Responses.CONNECTED)) {
+ throw new Exception ("Not connected");
+ }
+
+ stompConnection.subscribe("/queue/" + getQueueName());
+ StompFrame stompMessage = stompConnection.receive();
+ assertNull(stompMessage.getHeaders().get("transaction"));
+ }
+
protected void assertClients(int expected) throws Exception {
org.apache.activemq.broker.Connection[] clients = broker.getBroker().getClients();
int actual = clients.length;