Re: svn commit: r1295724 - in /tomcat/trunk/webapps/examples/WEB-INF: classes/websocket/EchoMessage.java web.xml
On 1 March 2012 18:27, fha...@apache.org wrote: Author: fhanik Date: Thu Mar 1 18:27:56 2012 New Revision: 1295724 URL: http://svn.apache.org/viewvc?rev=1295724view=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=1295724r1=1295723r2=1295724view=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); Value does not agree with below. Is that intended? + } + + 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=1295724r1=1295723r2=1295724view=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-namewsEchoMessage/servlet-name servlet-classwebsocket.EchoMessage/servlet-class + init-paramparam-namebyteBufferMaxSize/param-nameparam-value20971520/param-value/init-param + init-paramparam-namecharBufferMaxSize/param-nameparam-value20971520/param-value/init-param Value does not agree with above. Is that intended? /servlet servlet-mapping servlet-namewsEchoMessage/servlet-name - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1295724 - in /tomcat/trunk/webapps/examples/WEB-INF: classes/websocket/EchoMessage.java web.xml
Author: fhanik Date: Thu Mar 1 18:27:56 2012 New Revision: 1295724 URL: http://svn.apache.org/viewvc?rev=1295724view=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=1295724r1=1295723r2=1295724view=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=1295724r1=1295723r2=1295724view=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-namewsEchoMessage/servlet-name servlet-classwebsocket.EchoMessage/servlet-class + init-paramparam-namebyteBufferMaxSize/param-nameparam-value20971520/param-value/init-param + init-paramparam-namecharBufferMaxSize/param-nameparam-value20971520/param-value/init-param /servlet servlet-mapping servlet-namewsEchoMessage/servlet-name - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1295724 - in /tomcat/trunk/webapps/examples/WEB-INF: classes/websocket/EchoMessage.java web.xml
On 01/03/2012 18:27, fha...@apache.org wrote: Author: fhanik Date: Thu Mar 1 18:27:56 2012 New Revision: 1295724 URL: http://svn.apache.org/viewvc?rev=1295724view=rev Log: Allow the examples to configure the buffer on the fly Guess you beat me to it. The config needs to be commented out by default though. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1295724 - in /tomcat/trunk/webapps/examples/WEB-INF: classes/websocket/EchoMessage.java web.xml
On 3/1/2012 11:42 AM, Mark Thomas wrote: On 01/03/2012 18:27, fha...@apache.org wrote: Author: fhanik Date: Thu Mar 1 18:27:56 2012 New Revision: 1295724 URL: http://svn.apache.org/viewvc?rev=1295724view=rev Log: Allow the examples to configure the buffer on the fly Guess you beat me to it. The config needs to be commented out by default though. sure thing, I would assume for examples app, we'd have the most lenient, not the most safe/secure config. :) Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org