You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ac...@apache.org on 2006/03/29 01:51:06 UTC
svn commit: r389632 - in
/incubator/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/http:
HttpEmbeddedTunnelServlet.java HttpSpringEmbeddedTunnelServlet.java
Author: aco
Date: Tue Mar 28 15:51:05 2006
New Revision: 389632
URL: http://svn.apache.org/viewcvs?rev=389632&view=rev
Log:
- Refactored the HttpEmbeddedTunnelServlet to make it easier to reuse.
- Ported the 3.x HttpSpringEmbeddedTunnelServlet to 4.x.
Added:
incubator/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/http/HttpSpringEmbeddedTunnelServlet.java
Modified:
incubator/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/http/HttpEmbeddedTunnelServlet.java
Modified: incubator/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/http/HttpEmbeddedTunnelServlet.java
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/http/HttpEmbeddedTunnelServlet.java?rev=389632&r1=389631&r2=389632&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/http/HttpEmbeddedTunnelServlet.java (original)
+++ incubator/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/http/HttpEmbeddedTunnelServlet.java Tue Mar 28 15:51:05 2006
@@ -32,14 +32,24 @@
public class HttpEmbeddedTunnelServlet extends HttpTunnelServlet {
private static final long serialVersionUID = -3705734740251302361L;
- private BrokerService broker;
- private HttpTransportServer transportConnector;
+ protected BrokerService broker;
+ protected HttpTransportServer transportConnector;
public synchronized void init() throws ServletException {
// lets initialize the ActiveMQ broker
try {
if (broker == null) {
broker = createBroker();
+
+ // Add the servlet connector
+ String url = getConnectorURL();
+ transportConnector = new HttpTransportServer(new URI(url));
+ broker.addConnector(transportConnector);
+
+ String brokerURL = getServletContext().getInitParameter("org.apache.activemq.brokerURL");
+ if (brokerURL != null) {
+ log("Listening for internal communication on: " + brokerURL);
+ }
}
broker.start();
}
@@ -59,14 +69,6 @@
*/
protected BrokerService createBroker() throws Exception {
BrokerService answer = new BrokerService();
- String url = getConnectorURL();
- transportConnector = new HttpTransportServer(new URI(url));
- answer.addConnector(transportConnector);
-
- String brokerURL = getServletContext().getInitParameter("org.apache.activemq.brokerURL");
- if (brokerURL != null) {
- log("Listening for internal communication on: " + brokerURL);
- }
return answer;
}
Added: incubator/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/http/HttpSpringEmbeddedTunnelServlet.java
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/http/HttpSpringEmbeddedTunnelServlet.java?rev=389632&view=auto
==============================================================================
--- incubator/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/http/HttpSpringEmbeddedTunnelServlet.java (added)
+++ incubator/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/http/HttpSpringEmbeddedTunnelServlet.java Tue Mar 28 15:51:05 2006
@@ -0,0 +1,48 @@
+/**
+ *
+ * Copyright 2004 Protique Ltd
+ *
+ * Licensed 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.activemq.transport.http;
+
+import org.apache.activemq.broker.BrokerService;
+import org.apache.activemq.xbean.BrokerFactoryBean;
+import org.springframework.core.io.ClassPathResource;
+
+
+/**
+ * This servlet embeds an ActiveMQ broker inside a servlet engine which is
+ * ideal for deploying ActiveMQ inside a WAR and using this servlet as a HTTP tunnel.
+ *
+ * @version $Revision$
+ */
+public class HttpSpringEmbeddedTunnelServlet extends HttpEmbeddedTunnelServlet {
+ /**
+ * Factory method to create a new broker
+ */
+ protected BrokerService createBroker() throws Exception {
+
+ String configFile = getServletContext().getInitParameter("org.activemq.config.file");
+ if (configFile == null) {
+ configFile="activemq.xml";
+ }
+
+ BrokerFactoryBean factory = new BrokerFactoryBean(new ClassPathResource(configFile));
+ factory.afterPropertiesSet();
+
+ return factory.getBroker();
+ }
+
+}