You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2016/06/27 21:07:08 UTC
[1/3] activemq-artemis git commit: ARTEMIS-593 clarify STOMP
websocket support
Repository: activemq-artemis
Updated Branches:
refs/heads/master 5dc5a242b -> 5fa9c0ec8
ARTEMIS-593 clarify STOMP websocket support
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/146bce08
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/146bce08
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/146bce08
Branch: refs/heads/master
Commit: 146bce08ccbf713cfbe7aa56632da5d0eafe0c4e
Parents: aeafc6a
Author: jbertram <jb...@apache.org>
Authored: Fri Jun 24 22:05:08 2016 -0500
Committer: jbertram <jb...@apache.org>
Committed: Mon Jun 27 14:25:51 2016 -0500
----------------------------------------------------------------------
.../en/protocols-interoperability.md | 9 ++++----
.../stomp/stomp-websockets/chat/index.html | 6 +++---
.../stomp/stomp-websockets/readme.html | 3 +--
.../jms/example/StompWebSocketExample.java | 22 ++++----------------
4 files changed, 12 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/146bce08/docs/user-manual/en/protocols-interoperability.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/protocols-interoperability.md b/docs/user-manual/en/protocols-interoperability.md
index 65bacef..abfdcf8 100644
--- a/docs/user-manual/en/protocols-interoperability.md
+++ b/docs/user-manual/en/protocols-interoperability.md
@@ -414,14 +414,13 @@ Apache ActiveMQ Artemis also support Stomp over [Web
Sockets](http://dev.w3.org/html5/websockets/). Modern web browser which
support Web Sockets can send and receive Stomp messages from Apache ActiveMQ Artemis.
-To enable Stomp over Web Sockets, you must configure a `NettyAcceptor`
-with a `protocol` parameter set to `stomp_ws`:
+Stomp over Web Sockets is supported via the normal Stomp acceptor:
- <acceptor name="stomp-ws-acceptor">tcp://localhost:61614?protocols=STOMP_WS</acceptor>
+ <acceptor name="stomp-ws-acceptor">tcp://localhost:61614?protocols=STOMP</acceptor>
With this configuration, Apache ActiveMQ Artemis will accept Stomp connections over Web
-Sockets on the port `61614` with the URL path `/stomp`. Web browser can
-then connect to `ws://<server>:61614/stomp` using a Web Socket to send
+Sockets on the port `61614`. Web browser can
+then connect to `ws://<server>:61614` using a Web Socket to send
and receive Stomp messages.
A companion JavaScript library to ease client-side development is
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/146bce08/examples/protocols/stomp/stomp-websockets/chat/index.html
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp-websockets/chat/index.html b/examples/protocols/stomp/stomp-websockets/chat/index.html
index d92c6e5..5f61e50 100644
--- a/examples/protocols/stomp/stomp-websockets/chat/index.html
+++ b/examples/protocols/stomp/stomp-websockets/chat/index.html
@@ -37,12 +37,12 @@ under the License.
</script>
</head>
<body>
-
+
<div id='connect'>
<form id='connect_form'>
<dl>
<dt><label for=connect_url>Server URL</label></dt>
- <dd><input name=url id='connect_url' value='ws://localhost:61614/stomp'></dd>
+ <dd><input name=url id='connect_url' value='ws://localhost:61613'></dd>
<dt><label for=connect_login>Login</label></dt>
<dd><input id='connect_login' placeholder="User Login" value="guest"></dd>
<dt><label for=connect_passcode>Password</label></dt>
@@ -53,7 +53,7 @@ under the License.
<dd><input type=submit id='connect_submit' value="Connect"></dd>
</dl>
</form>
-
+
<p>Use the form above to connect to the Stomp server and subscribe to the destination.</p>
<p>Once connected, you can send messages to the destination with the text field at the bottom of this page</p>
</div>
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/146bce08/examples/protocols/stomp/stomp-websockets/readme.html
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp-websockets/readme.html b/examples/protocols/stomp/stomp-websockets/readme.html
index 2a3a3e1..98a34ad 100644
--- a/examples/protocols/stomp/stomp-websockets/readme.html
+++ b/examples/protocols/stomp/stomp-websockets/readme.html
@@ -29,7 +29,6 @@ under the License.
<pre>To run the example, simply type <b>mvn verify</b> from this directory, <br>or <b>mvn -PnoServer verify</b> if you want to start and create the server manually.</pre>
-
<p>This example shows you how to configure ActiveMQ Artemis to send and receive Stomp messages from modern web browser using Web Sockets.</p>
<p>The example will start a ActiveMQ Artemis server configured with Stomp over Web Sockets and JMS. Web browsers clients and
@@ -42,7 +41,7 @@ under the License.
<p><i>To run the example, simply type <code>mvn verify -Pexample</code> from this directory</i></p>
<p>To subscribe to the topic from your web browser, open the <a href="chat/index.html">Chat Example</a> or the <a href="aerogear-chat/aerogear-index.html">JBoss AeroGear STOMP notifier Chat Example</a> from another tab.
- The chat example is preconfigured to connect to the ActiveMQ Artemis server with the URL <code>ws://localhost:61614/stomp</code> and subscribe to the JMS Topic (through its core address
+ The chat example is preconfigured to connect to the ActiveMQ Artemis server with the URL <code>ws://localhost:61613</code> and subscribe to the JMS Topic (through its core address
<code>jms.topic.chat</code>).
</p>
<p>You can open as many Web clients as you want and they will all exchange messages through the topic</p>
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/146bce08/examples/protocols/stomp/stomp-websockets/src/main/java/org/apache/activemq/artemis/jms/example/StompWebSocketExample.java
----------------------------------------------------------------------
diff --git a/examples/protocols/stomp/stomp-websockets/src/main/java/org/apache/activemq/artemis/jms/example/StompWebSocketExample.java b/examples/protocols/stomp/stomp-websockets/src/main/java/org/apache/activemq/artemis/jms/example/StompWebSocketExample.java
index 5ee9187..87af3ab 100644
--- a/examples/protocols/stomp/stomp-websockets/src/main/java/org/apache/activemq/artemis/jms/example/StompWebSocketExample.java
+++ b/examples/protocols/stomp/stomp-websockets/src/main/java/org/apache/activemq/artemis/jms/example/StompWebSocketExample.java
@@ -16,11 +16,8 @@
*/
package org.apache.activemq.artemis.jms.example;
-import java.util.Date;
-
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
-import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
@@ -28,8 +25,8 @@ import javax.jms.Topic;
import javax.naming.InitialContext;
/**
- * An example where a client will send a JMS message to a Topic.
- * Browser clients connected using Web Sockets will be able to receive the message.
+ * An example where browser-based clients can send JMS messages to a Topic.
+ * The clients will be able to exchange messages with each other.
*/
public class StompWebSocketExample {
@@ -44,22 +41,11 @@ public class StompWebSocketExample {
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = session.createProducer(topic);
- MessageConsumer consumer = session.createConsumer(topic);
- // use JMS bytes message with UTF-8 String to send a text to Stomp clients
- String text = "message sent from a Java application at " + new Date();
- //BytesMessage message = session.createBytesMessage();
- //message.writeBytes(text.getBytes(StandardCharsets.UTF_8));
- TextMessage message = session.createTextMessage(text);
- System.out.println("Sent message: " + text);
- System.out.println("Open up the chat/index.html file in a browser and press enter");
+ System.out.println("Open up the chat/index.html file in a browser...press enter when finished");
System.in.read();
+ TextMessage message = session.createTextMessage("Server stopping!");
producer.send(message);
-
- connection.start();
-
- message = (TextMessage) consumer.receive();
- System.out.println("Received message: " + message.getText());
}
finally {
if (connection != null) {
[3/3] activemq-artemis git commit: This closes #604
Posted by cl...@apache.org.
This closes #604
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/5fa9c0ec
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/5fa9c0ec
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/5fa9c0ec
Branch: refs/heads/master
Commit: 5fa9c0ec8aefa5408e65bb6eff8f5e2dc34a8d52
Parents: 5dc5a24 146bce0
Author: Clebert Suconic <cl...@apache.org>
Authored: Mon Jun 27 16:52:36 2016 -0400
Committer: Clebert Suconic <cl...@apache.org>
Committed: Mon Jun 27 16:52:36 2016 -0400
----------------------------------------------------------------------
.../jms/server/impl/JMSServerManagerImpl.java | 13 +++++++++++-
.../en/protocols-interoperability.md | 9 ++++----
.../stomp/stomp-websockets/chat/index.html | 6 +++---
.../stomp/stomp-websockets/readme.html | 3 +--
.../jms/example/StompWebSocketExample.java | 22 ++++----------------
5 files changed, 24 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
[2/3] activemq-artemis git commit: ARTEMIS-322 fix spurious exception
Posted by cl...@apache.org.
ARTEMIS-322 fix spurious exception
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/aeafc6a9
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/aeafc6a9
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/aeafc6a9
Branch: refs/heads/master
Commit: aeafc6a974230c4850bea78e863790061e5a6521
Parents: 5dc5a24
Author: jbertram <jb...@apache.org>
Authored: Mon Jun 27 14:25:14 2016 -0500
Committer: jbertram <jb...@apache.org>
Committed: Mon Jun 27 14:25:51 2016 -0500
----------------------------------------------------------------------
.../artemis/jms/server/impl/JMSServerManagerImpl.java | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/aeafc6a9/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/impl/JMSServerManagerImpl.java
----------------------------------------------------------------------
diff --git a/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/impl/JMSServerManagerImpl.java b/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/impl/JMSServerManagerImpl.java
index 336c9d2..228c1bd 100644
--- a/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/impl/JMSServerManagerImpl.java
+++ b/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/impl/JMSServerManagerImpl.java
@@ -1719,7 +1719,18 @@ public class JMSServerManagerImpl implements JMSServerManager, ActivateCallback
AddressSettings settings = server.getAddressSettingsRepository().getMatch(address.toString());
if (address.toString().startsWith(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX) && settings.isAutoDeleteJmsTopics() && bindings.size() == 1 && queue != null && queue.isAutoCreated()) {
- destroyTopic(address.toString().substring(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX.length()));
+ try {
+ destroyTopic(address.toString().substring(ActiveMQDestination.JMS_TOPIC_ADDRESS_PREFIX.length()));
+ }
+ catch (IllegalStateException e) {
+ /*
+ * During shutdown the callback can be invoked after the JMSServerManager is already shut down so we just
+ * ignore the exception in that case
+ */
+ if (ActiveMQJMSServerLogger.LOGGER.isDebugEnabled()) {
+ ActiveMQJMSServerLogger.LOGGER.debug("Failed to destroy topic", e);
+ }
+ }
}
}
}