Author: fhanik
Date: Thu Mar  1 18:27:56 2012
New Revision: 1295724

URL: http://svn.apache.org/viewvc?rev=1295724&view=rev
Log:
Allow the examples to configure the buffer on the fly

Modified:
    tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/EchoMessage.java
    tomcat/trunk/webapps/examples/WEB-INF/web.xml

Modified: 
tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/EchoMessage.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/EchoMessage.java?rev=1295724&r1=1295723&r2=1295724&view=diff
==============================================================================
--- tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/EchoMessage.java 
(original)
+++ tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/EchoMessage.java 
Thu Mar  1 18:27:56 2012
@@ -20,6 +20,8 @@ import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
 
+import javax.servlet.ServletException;
+
 import org.apache.catalina.websocket.MessageInbound;
 import org.apache.catalina.websocket.StreamInbound;
 import org.apache.catalina.websocket.WebSocketServlet;
@@ -28,13 +30,40 @@ import org.apache.catalina.websocket.Web
 public class EchoMessage extends WebSocketServlet {
 
     private static final long serialVersionUID = 1L;
+    private volatile int byteBufSize;
+    private volatile int charBufSize;
+    
+    @Override
+    public void init() throws ServletException {
+        super.init();
+        byteBufSize = getInitParameterIntValue("byteBufferMaxSize", 2097152);
+        charBufSize = getInitParameterIntValue("charBufferMaxSize", 2097152);
+    }
+    
+    public int getInitParameterIntValue(String name, int defaultValue) {
+        String val = this.getInitParameter(name);
+        int result = defaultValue;
+        try {
+            result = Integer.parseInt(val);
+        }catch (Exception x) {
+        }
+        return result;
+    }
+
+
 
     @Override
     protected StreamInbound createWebSocketInbound(String subProtocol) {
-        return new EchoMessageInbound();
+        return new EchoMessageInbound(byteBufSize,charBufSize);
     }
 
     private static final class EchoMessageInbound extends MessageInbound {
+        
+        public EchoMessageInbound(int byteBufferMaxSize, int 
charBufferMaxSize) {
+            super();
+            setByteBufferMaxSize(byteBufferMaxSize);
+            setCharBufferMaxSize(charBufferMaxSize);
+        }
 
         @Override
         protected void onBinaryMessage(ByteBuffer message) throws IOException {

Modified: tomcat/trunk/webapps/examples/WEB-INF/web.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/web.xml?rev=1295724&r1=1295723&r2=1295724&view=diff
==============================================================================
--- tomcat/trunk/webapps/examples/WEB-INF/web.xml (original)
+++ tomcat/trunk/webapps/examples/WEB-INF/web.xml Thu Mar  1 18:27:56 2012
@@ -359,6 +359,8 @@
     <servlet>
       <servlet-name>wsEchoMessage</servlet-name>
       <servlet-class>websocket.EchoMessage</servlet-class>
+      
<init-param><param-name>byteBufferMaxSize</param-name><param-value>20971520</param-value></init-param>
+      
<init-param><param-name>charBufferMaxSize</param-name><param-value>20971520</param-value></init-param>
     </servlet>
     <servlet-mapping>
       <servlet-name>wsEchoMessage</servlet-name>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to