You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2015/03/23 11:09:42 UTC
svn commit: r1668582 - in /tomcat/trunk: java/org/apache/tomcat/websocket/
test/org/apache/tomcat/websocket/
Author: markt
Date: Mon Mar 23 10:09:42 2015
New Revision: 1668582
URL: http://svn.apache.org/r1668582
Log:
Refactoring.
Ensure all the constants are in the Constants class
Remove PACKAGE_NAME constant.
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelGroupUtil.java
tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java
tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java
tomcat/trunk/java/org/apache/tomcat/websocket/Constants.java
tomcat/trunk/java/org/apache/tomcat/websocket/PerMessageDeflate.java
tomcat/trunk/java/org/apache/tomcat/websocket/TransformationFactory.java
tomcat/trunk/java/org/apache/tomcat/websocket/Util.java
tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java
tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameClient.java
tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java
tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
tomcat/trunk/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java
tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
tomcat/trunk/test/org/apache/tomcat/websocket/TesterFirehoseServer.java
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelGroupUtil.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelGroupUtil.java?rev=1668582&r1=1668581&r2=1668582&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelGroupUtil.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelGroupUtil.java Mon Mar 23 10:09:42 2015
@@ -37,7 +37,7 @@ import org.apache.tomcat.util.threads.Th
public class AsyncChannelGroupUtil {
private static final StringManager sm =
- StringManager.getManager(Constants.PACKAGE_NAME);
+ StringManager.getManager(AsyncChannelGroupUtil.class);
private static AsynchronousChannelGroup group = null;
private static int usageCount = 0;
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java?rev=1668582&r1=1668581&r2=1668582&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java Mon Mar 23 10:09:42 2015
@@ -51,7 +51,7 @@ public class AsyncChannelWrapperSecure i
private static final Log log =
LogFactory.getLog(AsyncChannelWrapperSecure.class);
private static final StringManager sm =
- StringManager.getManager(Constants.PACKAGE_NAME);
+ StringManager.getManager(AsyncChannelWrapperSecure.class);
private static final ByteBuffer DUMMY = ByteBuffer.allocate(8192);
private final AsynchronousSocketChannel socketChannel;
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java?rev=1668582&r1=1668581&r2=1668582&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java Mon Mar 23 10:09:42 2015
@@ -34,7 +34,7 @@ public class BackgroundProcessManager {
private static final Log log =
LogFactory.getLog(BackgroundProcessManager.class);
private static final StringManager sm =
- StringManager.getManager(Constants.PACKAGE_NAME);
+ StringManager.getManager(BackgroundProcessManager.class);
private static final BackgroundProcessManager instance;
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/Constants.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/Constants.java?rev=1668582&r1=1668581&r2=1668582&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/Constants.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/Constants.java Mon Mar 23 10:09:42 2015
@@ -27,8 +27,6 @@ import javax.websocket.Extension;
*/
public class Constants {
- protected static final String PACKAGE_NAME =
- Constants.class.getPackage().getName();
// OP Codes
public static final byte OPCODE_CONTINUATION = 0x00;
public static final byte OPCODE_TEXT = 0x01;
@@ -48,6 +46,34 @@ public class Constants {
.intValue();
// Client connection
+ /**
+ * Property name to set to configure the value that is passed to
+ * {@link javax.net.ssl.SSLEngine#setEnabledProtocols(String[])}. The value
+ * should be a comma separated string.
+ */
+ public static final String SSL_PROTOCOLS_PROPERTY =
+ "org.apache.tomcat.websocket.SSL_PROTOCOLS";
+ public static final String SSL_TRUSTSTORE_PROPERTY =
+ "org.apache.tomcat.websocket.SSL_TRUSTSTORE";
+ public static final String SSL_TRUSTSTORE_PWD_PROPERTY =
+ "org.apache.tomcat.websocket.SSL_TRUSTSTORE_PWD";
+ public static final String SSL_TRUSTSTORE_PWD_DEFAULT = "changeit";
+ /**
+ * Property name to set to configure used SSLContext. The value should be an
+ * instance of SSLContext. If this property is present, the SSL_TRUSTSTORE*
+ * properties are ignored.
+ */
+ public static final String SSL_CONTEXT_PROPERTY =
+ "org.apache.tomcat.websocket.SSL_CONTEXT";
+ /**
+ * Property name to set to configure the timeout (in milliseconds) when
+ * establishing a WebSocket connection to server. The default is
+ * {@link #IO_TIMEOUT_MS_DEFAULT}.
+ */
+ public static final String IO_TIMEOUT_MS_PROPERTY =
+ "org.apache.tomcat.websocket.IO_TIMEOUT_MS";
+ public static final long IO_TIMEOUT_MS_DEFAULT = 5000;
+ // HTTP upgrade header names and values
public static final String HOST_HEADER_NAME = "Host";
public static final String UPGRADE_HEADER_NAME = "Upgrade";
public static final String UPGRADE_HEADER_VALUE = "websocket";
@@ -57,15 +83,19 @@ public class Constants {
public static final String WS_VERSION_HEADER_NAME = "Sec-WebSocket-Version";
public static final String WS_VERSION_HEADER_VALUE = "13";
public static final String WS_KEY_HEADER_NAME = "Sec-WebSocket-Key";
- public static final String WS_PROTOCOL_HEADER_NAME =
- "Sec-WebSocket-Protocol";
- public static final String WS_EXTENSIONS_HEADER_NAME =
- "Sec-WebSocket-Extensions";
+ public static final String WS_PROTOCOL_HEADER_NAME = "Sec-WebSocket-Protocol";
+ public static final String WS_EXTENSIONS_HEADER_NAME = "Sec-WebSocket-Extensions";
// Configuration for Origin header in client
static final String DEFAULT_ORIGIN_HEADER_VALUE =
System.getProperty("org.apache.tomcat.websocket.DEFAULT_ORIGIN_HEADER_VALUE");
+ // Configuration for blocking sends
+ public static final String BLOCKING_SEND_TIMEOUT_PROPERTY =
+ "org.apache.tomcat.websocket.BLOCKING_SEND_TIMEOUT";
+ // Milliseconds so this is 20 seconds
+ public static final long DEFAULT_BLOCKING_SEND_TIMEOUT = 20 * 1000;
+
// Configuration for background processing checks intervals
static final int DEFAULT_PROCESS_PERIOD = Integer.getInteger(
"org.apache.tomcat.websocket.DEFAULT_PROCESS_PERIOD", 10)
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/PerMessageDeflate.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/PerMessageDeflate.java?rev=1668582&r1=1668581&r2=1668582&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/PerMessageDeflate.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/PerMessageDeflate.java Mon Mar 23 10:09:42 2015
@@ -32,7 +32,7 @@ import org.apache.tomcat.util.res.String
public class PerMessageDeflate implements Transformation {
- private static final StringManager sm = StringManager.getManager(Constants.PACKAGE_NAME);
+ private static final StringManager sm = StringManager.getManager(PerMessageDeflate.class);
private static final String SERVER_NO_CONTEXT_TAKEOVER = "server_no_context_takeover";
private static final String CLIENT_NO_CONTEXT_TAKEOVER = "client_no_context_takeover";
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/TransformationFactory.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/TransformationFactory.java?rev=1668582&r1=1668581&r2=1668582&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/TransformationFactory.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/TransformationFactory.java Mon Mar 23 10:09:42 2015
@@ -24,7 +24,7 @@ import org.apache.tomcat.util.res.String
public class TransformationFactory {
- private static final StringManager sm = StringManager.getManager(Constants.PACKAGE_NAME);
+ private static final StringManager sm = StringManager.getManager(TransformationFactory.class);
private static final TransformationFactory factory = new TransformationFactory();
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/Util.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/Util.java?rev=1668582&r1=1668581&r2=1668582&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/Util.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/Util.java Mon Mar 23 10:09:42 2015
@@ -59,8 +59,7 @@ import org.apache.tomcat.websocket.pojo.
*/
public class Util {
- private static final StringManager sm =
- StringManager.getManager(Constants.PACKAGE_NAME);
+ private static final StringManager sm = StringManager.getManager(Util.class);
private static final Queue<SecureRandom> randoms =
new ConcurrentLinkedQueue<>();
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java?rev=1668582&r1=1668581&r2=1668582&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java Mon Mar 23 10:09:42 2015
@@ -42,7 +42,7 @@ import org.apache.tomcat.util.res.String
public abstract class WsFrameBase {
private static final StringManager sm =
- StringManager.getManager(Constants.PACKAGE_NAME);
+ StringManager.getManager(WsFrameBase.class);
// Connection level attributes
protected final WsSession wsSession;
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameClient.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameClient.java?rev=1668582&r1=1668581&r2=1668582&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameClient.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameClient.java Mon Mar 23 10:09:42 2015
@@ -31,7 +31,7 @@ public class WsFrameClient extends WsFra
private final Log log = LogFactory.getLog(WsFrameClient.class);
private static final StringManager sm =
- StringManager.getManager(Constants.PACKAGE_NAME);
+ StringManager.getManager(WsFrameClient.class);
private final AsyncChannelWrapper channel;
private final CompletionHandler<Integer,Void> handler;
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java?rev=1668582&r1=1668581&r2=1668582&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java Mon Mar 23 10:09:42 2015
@@ -49,13 +49,7 @@ import org.apache.tomcat.util.res.String
public abstract class WsRemoteEndpointImplBase implements RemoteEndpoint {
private static final StringManager sm =
- StringManager.getManager(Constants.PACKAGE_NAME);
-
- // Milliseconds so this is 20 seconds
- private static final long DEFAULT_BLOCKING_SEND_TIMEOUT = 20 * 1000;
-
- public static final String BLOCKING_SEND_TIMEOUT_PROPERTY =
- "org.apache.tomcat.websocket.BLOCKING_SEND_TIMEOUT";
+ StringManager.getManager(WsRemoteEndpointImplBase.class);
protected static final SendResult SENDRESULT_OK = new SendResult();
@@ -491,14 +485,13 @@ public abstract class WsRemoteEndpointIm
private long getBlockingSendTimeout() {
- Object obj = wsSession.getUserProperties().get(
- BLOCKING_SEND_TIMEOUT_PROPERTY);
+ Object obj = wsSession.getUserProperties().get(Constants.BLOCKING_SEND_TIMEOUT_PROPERTY);
Long userTimeout = null;
if (obj instanceof Long) {
userTimeout = (Long) obj;
}
if (userTimeout == null) {
- return DEFAULT_BLOCKING_SEND_TIMEOUT;
+ return Constants.DEFAULT_BLOCKING_SEND_TIMEOUT;
} else {
return userTimeout.longValue();
}
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java?rev=1668582&r1=1668581&r2=1668582&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Mon Mar 23 10:09:42 2015
@@ -59,8 +59,7 @@ public class WsSession implements Sessio
// An ellipsis is three bytes in UTF-8
private static final int ELLIPSIS_BYTES_LEN = ELLIPSIS_BYTES.length;
- private static final StringManager sm =
- StringManager.getManager(Constants.PACKAGE_NAME);
+ private static final StringManager sm = StringManager.getManager(WsSession.class);
private static AtomicLong ids = new AtomicLong(0);
private final Log log = LogFactory.getLog(WsSession.class);
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1668582&r1=1668581&r2=1668582&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Mon Mar 23 10:09:42 2015
@@ -68,41 +68,10 @@ import org.apache.tomcat.util.codec.bina
import org.apache.tomcat.util.res.StringManager;
import org.apache.tomcat.websocket.pojo.PojoEndpointClient;
-public class WsWebSocketContainer
- implements WebSocketContainer, BackgroundProcess {
-
- /**
- * Property name to set to configure the value that is passed to
- * {@link SSLEngine#setEnabledProtocols(String[])}. The value should be a
- * comma separated string.
- */
- public static final String SSL_PROTOCOLS_PROPERTY =
- "org.apache.tomcat.websocket.SSL_PROTOCOLS";
- public static final String SSL_TRUSTSTORE_PROPERTY =
- "org.apache.tomcat.websocket.SSL_TRUSTSTORE";
- public static final String SSL_TRUSTSTORE_PWD_PROPERTY =
- "org.apache.tomcat.websocket.SSL_TRUSTSTORE_PWD";
- public static final String SSL_TRUSTSTORE_PWD_DEFAULT = "changeit";
- /**
- * Property name to set to configure used SSLContext. The value should be an
- * instance of SSLContext. If this property is present, the SSL_TRUSTSTORE*
- * properties are ignored.
- */
- public static final String SSL_CONTEXT_PROPERTY =
- "org.apache.tomcat.websocket.SSL_CONTEXT";
-
- /**
- * Property name to set to configure the timeout (in milliseconds) when
- * establishing a WebSocket connection to server. The default is
- * {@link #IO_TIMEOUT_MS_DEFAULT}.
- */
- public static final String IO_TIMEOUT_MS_PROPERTY =
- "org.apache.tomcat.websocket.IO_TIMEOUT_MS";
-
- public static final long IO_TIMEOUT_MS_DEFAULT = 5000;
+public class WsWebSocketContainer implements WebSocketContainer, BackgroundProcess {
private static final StringManager sm =
- StringManager.getManager(Constants.PACKAGE_NAME);
+ StringManager.getManager(WsWebSocketContainer.class);
private static final Random random = new Random();
private static final byte[] crlf = new byte[] {13, 10};
@@ -273,9 +242,9 @@ public class WsWebSocketContainer
}
// Get the connection timeout
- long timeout = IO_TIMEOUT_MS_DEFAULT;
+ long timeout = Constants.IO_TIMEOUT_MS_DEFAULT;
String timeoutValue = (String) clientEndpointConfiguration.getUserProperties().get(
- IO_TIMEOUT_MS_PROPERTY);
+ Constants.IO_TIMEOUT_MS_PROPERTY);
if (timeoutValue != null) {
timeout = Long.valueOf(timeoutValue).intValue();
}
@@ -685,7 +654,7 @@ public class WsWebSocketContainer
try {
// See if a custom SSLContext has been provided
SSLContext sslContext =
- (SSLContext) userProperties.get(SSL_CONTEXT_PROPERTY);
+ (SSLContext) userProperties.get(Constants.SSL_CONTEXT_PROPERTY);
if (sslContext == null) {
// Create the SSL Context
@@ -693,12 +662,12 @@ public class WsWebSocketContainer
// Trust store
String sslTrustStoreValue =
- (String) userProperties.get(SSL_TRUSTSTORE_PROPERTY);
+ (String) userProperties.get(Constants.SSL_TRUSTSTORE_PROPERTY);
if (sslTrustStoreValue != null) {
String sslTrustStorePwdValue = (String) userProperties.get(
- SSL_TRUSTSTORE_PWD_PROPERTY);
+ Constants.SSL_TRUSTSTORE_PWD_PROPERTY);
if (sslTrustStorePwdValue == null) {
- sslTrustStorePwdValue = SSL_TRUSTSTORE_PWD_DEFAULT;
+ sslTrustStorePwdValue = Constants.SSL_TRUSTSTORE_PWD_DEFAULT;
}
File keyStoreFile = new File(sslTrustStoreValue);
@@ -720,7 +689,7 @@ public class WsWebSocketContainer
SSLEngine engine = sslContext.createSSLEngine();
String sslProtocolsValue =
- (String) userProperties.get(SSL_PROTOCOLS_PROPERTY);
+ (String) userProperties.get(Constants.SSL_PROTOCOLS_PROPERTY);
if (sslProtocolsValue != null) {
engine.setEnabledProtocols(sslProtocolsValue.split(","));
}
Modified: tomcat/trunk/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java?rev=1668582&r1=1668581&r2=1668582&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java (original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java Mon Mar 23 10:09:42 2015
@@ -59,7 +59,7 @@ public class TestWebSocketFrameClientSSL
ClientEndpointConfig clientEndpointConfig =
ClientEndpointConfig.Builder.create().build();
clientEndpointConfig.getUserProperties().put(
- WsWebSocketContainer.SSL_TRUSTSTORE_PROPERTY,
+ Constants.SSL_TRUSTSTORE_PROPERTY,
"test/org/apache/tomcat/util/net/ca.jks");
Session wsSession = wsContainer.connectToServer(
TesterProgrammaticEndpoint.class,
@@ -106,7 +106,7 @@ public class TestWebSocketFrameClientSSL
ClientEndpointConfig clientEndpointConfig =
ClientEndpointConfig.Builder.create().build();
clientEndpointConfig.getUserProperties().put(
- WsWebSocketContainer.SSL_TRUSTSTORE_PROPERTY,
+ Constants.SSL_TRUSTSTORE_PROPERTY,
"test/org/apache/tomcat/util/net/ca.jks");
Session wsSession = wsContainer.connectToServer(
TesterProgrammaticEndpoint.class,
Modified: tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java?rev=1668582&r1=1668581&r2=1668582&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java (original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java Mon Mar 23 10:09:42 2015
@@ -812,7 +812,7 @@ public class TestWsWebSocketContainer ex
ClientEndpointConfig clientEndpointConfig =
ClientEndpointConfig.Builder.create().build();
clientEndpointConfig.getUserProperties().put(
- WsWebSocketContainer.SSL_TRUSTSTORE_PROPERTY,
+ org.apache.tomcat.websocket.Constants.SSL_TRUSTSTORE_PROPERTY,
"test/org/apache/tomcat/util/net/ca.jks");
Session wsSession = wsContainer.connectToServer(
TesterProgrammaticEndpoint.class,
Modified: tomcat/trunk/test/org/apache/tomcat/websocket/TesterFirehoseServer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/TesterFirehoseServer.java?rev=1668582&r1=1668581&r2=1668582&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/TesterFirehoseServer.java (original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/TesterFirehoseServer.java Mon Mar 23 10:09:42 2015
@@ -111,7 +111,7 @@ public class TesterFirehoseServer {
System.out.println("Received " + msg + ", now sending data");
session.getUserProperties().put(
- WsRemoteEndpointImplBase.BLOCKING_SEND_TIMEOUT_PROPERTY,
+ org.apache.tomcat.websocket.Constants.BLOCKING_SEND_TIMEOUT_PROPERTY,
Long.valueOf(SEND_TIME_OUT_MILLIS));
Basic remote = session.getBasicRemote();
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org