Return-Path: X-Original-To: apmail-activemq-commits-archive@www.apache.org Delivered-To: apmail-activemq-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 64CCFD5CC for ; Tue, 28 Aug 2012 09:25:45 +0000 (UTC) Received: (qmail 24718 invoked by uid 500); 28 Aug 2012 09:25:45 -0000 Delivered-To: apmail-activemq-commits-archive@activemq.apache.org Received: (qmail 24604 invoked by uid 500); 28 Aug 2012 09:25:43 -0000 Mailing-List: contact commits-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list commits@activemq.apache.org Received: (qmail 24545 invoked by uid 99); 28 Aug 2012 09:25:41 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Aug 2012 09:25:41 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Aug 2012 09:25:38 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 7AFB623888FE for ; Tue, 28 Aug 2012 09:24:54 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1378035 - in /activemq/trunk/activemq-optional/src: main/java/org/apache/activemq/transport/ main/java/org/apache/activemq/transport/ws/ main/java/org/apache/activemq/transport/wss/ test/java/org/apache/activemq/transport/ws/ Date: Tue, 28 Aug 2012 09:24:54 -0000 To: commits@activemq.apache.org From: dejanb@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120828092454.7AFB623888FE@eris.apache.org> Author: dejanb Date: Tue Aug 28 09:24:53 2012 New Revision: 1378035 URL: http://svn.apache.org/viewvc?rev=1378035&view=rev Log: https://issues.apache.org/jira/browse/AMQ-3980 - generic support for all web socket tuning options Modified: activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/SocketConnectorFactory.java activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/ws/WSTransportFactory.java activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/ws/WSTransportServer.java activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/wss/WSSTransportFactory.java activemq/trunk/activemq-optional/src/test/java/org/apache/activemq/transport/ws/WSTransportTest.java Modified: activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/SocketConnectorFactory.java URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/SocketConnectorFactory.java?rev=1378035&r1=1378034&r2=1378035&view=diff ============================================================================== --- activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/SocketConnectorFactory.java (original) +++ activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/SocketConnectorFactory.java Tue Aug 28 09:24:53 2012 @@ -16,6 +16,7 @@ */ package org.apache.activemq.transport; +import org.apache.activemq.util.IntrospectionSupport; import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.nio.SelectChannelConnector; @@ -27,7 +28,9 @@ public class SocketConnectorFactory { private Map transportOptions; public Connector createConnector() throws Exception { - return new SelectChannelConnector(); + SelectChannelConnector connector = new SelectChannelConnector(); + IntrospectionSupport.setProperties(connector, transportOptions, ""); + return connector; } public Map getTransportOptions() { Modified: activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/ws/WSTransportFactory.java URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/ws/WSTransportFactory.java?rev=1378035&r1=1378034&r2=1378035&view=diff ============================================================================== --- activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/ws/WSTransportFactory.java (original) +++ activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/ws/WSTransportFactory.java Tue Aug 28 09:24:53 2012 @@ -28,7 +28,6 @@ import org.apache.activemq.transport.Tra import org.apache.activemq.util.IOExceptionSupport; import org.apache.activemq.util.IntrospectionSupport; import org.apache.activemq.util.URISupport; - /** * * Factory for WebSocket (ws) transport @@ -40,7 +39,7 @@ public class WSTransportFactory extends try { Map options = new HashMap(URISupport.parseParameters(location)); WSTransportServer result = new WSTransportServer(location); - Map transportOptions = IntrospectionSupport.extractProperties(options, "transport."); + Map transportOptions = IntrospectionSupport.extractProperties(options, ""); result.setTransportOption(transportOptions); return result; } catch (URISyntaxException e) { Modified: activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/ws/WSTransportServer.java URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/ws/WSTransportServer.java?rev=1378035&r1=1378034&r2=1378035&view=diff ============================================================================== --- activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/ws/WSTransportServer.java (original) +++ activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/ws/WSTransportServer.java Tue Aug 28 09:24:53 2012 @@ -41,8 +41,6 @@ import java.util.Map; */ public class WSTransportServer extends WebTransportServerSupport { - int maxTextMessageSize = -1; - public WSTransportServer(URI location) { super(location); this.bindAddress = location; @@ -64,9 +62,14 @@ public class WSTransportServer extends W new ServletContextHandler(server, "/", ServletContextHandler.NO_SECURITY); ServletHolder holder = new ServletHolder(); - if (maxTextMessageSize != -1) { - holder.setInitParameter("maxTextMessageSize", String.valueOf(maxTextMessageSize)); + Map webSocketOptions = IntrospectionSupport.extractProperties(transportOptions, "websocket."); + for(Map.Entry webSocketEntry : webSocketOptions.entrySet()) { + Object value = webSocketEntry.getValue(); + if (value != null) { + holder.setInitParameter(webSocketEntry.getKey(), value.toString()); + } } + holder.setServlet(new StompServlet()); contextHandler.addServlet(holder, "/"); @@ -97,16 +100,9 @@ public class WSTransportServer extends W @Override public void setTransportOption(Map transportOptions) { - IntrospectionSupport.setProperties(this, transportOptions); - socketConnectorFactory.setTransportOptions(transportOptions); + Map socketOptions = IntrospectionSupport.extractProperties(transportOptions, "transport."); + socketConnectorFactory.setTransportOptions(socketOptions); super.setTransportOption(transportOptions); } - public int getMaxTextMessageSize() { - return maxTextMessageSize; - } - - public void setMaxTextMessageSize(int maxTextMessageSize) { - this.maxTextMessageSize = maxTextMessageSize; - } } Modified: activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/wss/WSSTransportFactory.java URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/wss/WSSTransportFactory.java?rev=1378035&r1=1378034&r2=1378035&view=diff ============================================================================== --- activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/wss/WSSTransportFactory.java (original) +++ activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/wss/WSSTransportFactory.java Tue Aug 28 09:24:53 2012 @@ -41,7 +41,7 @@ public class WSSTransportFactory extends try { Map options = new HashMap(URISupport.parseParameters(location)); WSSTransportServer result = new WSSTransportServer(location, SslContext.getCurrentSslContext()); - Map transportOptions = IntrospectionSupport.extractProperties(options, "transport."); + Map transportOptions = IntrospectionSupport.extractProperties(options, ""); result.setTransportOption(transportOptions); return result; } catch (URISyntaxException e) { Modified: activemq/trunk/activemq-optional/src/test/java/org/apache/activemq/transport/ws/WSTransportTest.java URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-optional/src/test/java/org/apache/activemq/transport/ws/WSTransportTest.java?rev=1378035&r1=1378034&r2=1378035&view=diff ============================================================================== --- activemq/trunk/activemq-optional/src/test/java/org/apache/activemq/transport/ws/WSTransportTest.java (original) +++ activemq/trunk/activemq-optional/src/test/java/org/apache/activemq/transport/ws/WSTransportTest.java Tue Aug 28 09:24:53 2012 @@ -64,7 +64,7 @@ public class WSTransportTest { new URI("broker:()/localhost?persistent=false&useJmx=false")); stompUri = broker.addConnector("stomp://localhost:0").getPublishableConnectString(); - wsUri = broker.addConnector("ws://127.0.0.1:61623").getPublishableConnectString(); + wsUri = broker.addConnector("ws://127.0.0.1:61623?websocket.maxTextMessageSize=99999&transport.maxIdleTime=1001").getPublishableConnectString(); broker.setDeleteAllMessagesOnStartup(deleteMessages); broker.start(); broker.waitUntilStarted();