DO NOT REPLY [Bug 51379] The method setVar(String) in the type DataTableTag is not applicable for the arguments (JspValueExpression)
https://issues.apache.org/bugzilla/show_bug.cgi?id=51379 --- Comment #6 from Kallol 2011-06-17 07:26:30 UTC --- I RESOLVED THE ISSUE. I TESTED ON ECLIPSE 3.2.0, Tomcat 5.5 and mysql-5.1.57-win32. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1136797 - in /tomcat/site/trunk: docs/download-70.html docs/index.html docs/oldnews.html docs/whichversion.html xdocs/download-70.xml xdocs/index.xml xdocs/oldnews.xml xdocs/whichversion.
Author: markt Date: Fri Jun 17 08:15:15 2011 New Revision: 1136797 URL: http://svn.apache.org/viewvc?rev=1136797&view=rev Log: Prep for the 7.0.16 release announcement Modified: tomcat/site/trunk/docs/download-70.html tomcat/site/trunk/docs/index.html tomcat/site/trunk/docs/oldnews.html tomcat/site/trunk/docs/whichversion.html tomcat/site/trunk/xdocs/download-70.xml tomcat/site/trunk/xdocs/index.xml tomcat/site/trunk/xdocs/oldnews.xml tomcat/site/trunk/xdocs/whichversion.xml Modified: tomcat/site/trunk/docs/download-70.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/download-70.html?rev=1136797&r1=1136796&r2=1136797&view=diff == --- tomcat/site/trunk/docs/download-70.html (original) +++ tomcat/site/trunk/docs/download-70.html Fri Jun 17 08:15:15 2011 @@ -241,8 +241,8 @@ http://www.apache.org/dist/tomcat/tomcat-7/KEYS";>KEYS | -7.0.14 | -Browse | +7.0.16 | +Browse | http://archive.apache.org/dist/tomcat/tomcat-7";>Archives @@ -342,8 +342,8 @@ - -7.0.14 + +7.0.16 @@ -353,8 +353,8 @@ - Please see the - README + Please see the + README file for packaging information. It explains what every distribution contains. @@ -378,95 +378,95 @@ Core: -zip -(http://www.apache.org/dist/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14.zip.asc";>pgp, -http://www.apache.org/dist/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14.zip.md5";>md5) +zip +(http://www.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16.zip.asc";>pgp, +http://www.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16.zip.md5";>md5) -tar.gz -(http://www.apache.org/dist/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14.tar.gz.asc";>pgp, -http://www.apache.org/dist/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14.tar.gz.md5";>md5) +tar.gz +(http://www.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16.tar.gz.asc";>pgp, +http://www.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16.tar.gz.md5";>md5) -32-bit Windows zip -(http://www.apache.org/dist/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14-windows-x86.zip.asc";>pgp, -http://www.apache.org/dist/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14-windows-x86.zip.md5";>md5) +32-bit Windows zip +(http://www.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16-windows-x86.zip.asc";>pgp, +http://www.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16-windows-x86.zip.md5";>md5) -64-bit Windows zip -(http://www.apache.org/dist/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14-windows-x64.zip.asc";>pgp, -http://www.apache.org/dist/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14-windows-x64.zip.md5";>md5) +64-bit Windows zip +(http://www.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16-windows-x64.zip.asc";>pgp, +http://www.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16-windows-x64.zip.md5";>md5) -64-bit Itanium Windows zip -(http://www.apache.org/dist/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14-windows-i64.zip.asc";>pgp, -http://www.apache.org/dist/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14-windows-i64.zip.md5";>md5) +64-bit Itanium Windows zip +(http://www.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16-windows-i64.zip.asc";>pgp, +http://www.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16-windows-i64.zip.md5";>md5) -32-bit/64-bit Windows Service Installer -(http://www.apache.org/dist/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14.exe.asc";>pgp, -http://www.apache.org/dist/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14.exe.md5";>md5) +32-bit/64-bit Windows Service Installer +(http://www.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16.exe.asc";>pgp, +http://www.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16.exe.md5";>md5) Full documentation: -tar.gz -(http://www.apache.org/dist/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14-fulldocs.tar.gz.asc";>pgp, -http://www.apache.org/dist/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14-fulldocs.tar.gz.md5";>
svn commit: r1136806 - /tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java
Author: markt Date: Fri Jun 17 08:33:23 2011 New Revision: 1136806 URL: http://svn.apache.org/viewvc?rev=1136806&view=rev Log: Add missing transition Modified: tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java Modified: tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java?rev=1136806&r1=1136805&r2=1136806&view=diff == --- tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java (original) +++ tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java Fri Jun 17 08:33:23 2011 @@ -49,14 +49,14 @@ import org.apache.tomcat.util.res.String * DISPATCHING - The dispatch is being processed. * ERROR - Something went wrong. * - * |->---| - * |\|/ - * | |--DISPATCHED<--COMPLETING<| + * |->--| + * | \|/ + * | |--<---ERROR + * | |complete() /|\ |postProcess() + * | | error()| | + * | | | | |--|timeout() + * | | postProcess() | \|/ | \|/auto + * | | |--->DISPATCHED<--COMPLETING<| * | | | /|\ | | /|\ | * | | ||--->---| | |--| | * | | ^| |startAsync()timeout() | - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1136812 - in /tomcat/trunk/java/org/apache: coyote/ajp/AjpProtocol.java coyote/http11/Http11Protocol.java tomcat/util/net/JIoEndpoint.java
Author: markt Date: Fri Jun 17 08:54:28 2011 New Revision: 1136812 URL: http://svn.apache.org/viewvc?rev=1136812&view=rev Log: Aligning code between connectors Remove extra method from JIoEndpoint.Handler Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java?rev=1136812&r1=1136811&r2=1136812&view=diff == --- tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java Fri Jun 17 08:54:28 2011 @@ -125,11 +125,6 @@ public class AjpProtocol extends Abstrac } @Override -public SocketState process(SocketWrapper socket) { -return process(socket,SocketStatus.OPEN); -} - -@Override public SocketState process(SocketWrapper socket, SocketStatus status) { AjpProcessor processor = connections.remove(socket); try { Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java?rev=1136812&r1=1136811&r2=1136812&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java Fri Jun 17 08:54:28 2011 @@ -136,11 +136,6 @@ public class Http11Protocol extends Abst } @Override -public SocketState process(SocketWrapper socket) { -return process(socket,SocketStatus.OPEN); -} - -@Override public SocketState process(SocketWrapper socket, SocketStatus status) { Http11Processor processor = connections.remove(socket); try { Modified: tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java?rev=1136812&r1=1136811&r2=1136812&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java Fri Jun 17 08:54:28 2011 @@ -127,7 +127,6 @@ public class JIoEndpoint extends Abstrac * thread local fields. */ public interface Handler extends AbstractEndpoint.Handler { -public SocketState process(SocketWrapper socket); public SocketState process(SocketWrapper socket, SocketStatus status); public SSLImplementation getSslImplementation(); @@ -305,8 +304,12 @@ public class JIoEndpoint extends Abstrac state = SocketState.CLOSED; } -if ( (state != SocketState.CLOSED) ) { -state = (status==null)?handler.process(socket):handler.process(socket,status); +if ((state != SocketState.CLOSED)) { +if (status == null) { +state = handler.process(socket, SocketStatus.OPEN); +} else { +state = handler.process(socket,status); +} } if (state == SocketState.CLOSED) { // Close socket - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1136855 - /tomcat/trunk/test/org/apache/cometd/bayeux/
Author: markt Date: Fri Jun 17 12:11:16 2011 New Revision: 1136855 URL: http://svn.apache.org/viewvc?rev=1136855&view=rev Log: Remove empty dir Removed: tomcat/trunk/test/org/apache/cometd/bayeux/ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1136857 - /tomcat/trunk/test/org/apache/cometd/
Author: markt Date: Fri Jun 17 12:12:46 2011 New Revision: 1136857 URL: http://svn.apache.org/viewvc?rev=1136857&view=rev Log: Remove empty dir Removed: tomcat/trunk/test/org/apache/cometd/ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[ANN] Apache Tomcat 7.0.16 released
The Apache Tomcat team announces the immediate availability of Apache Tomcat 7.0.16. Apache Tomcat 7.0.16 includes bug fixes and the following new features compared to version 7.0.14: - NIO implementation of the AJP connector - Enable Servlet 3 asynchronous processing support when using clustering - Add parallel deployment support to the Manager's Ant tasks Please refer to the change log for the list of changes: http://tomcat.apache.org/tomcat-7.0-doc/changelog.html Note that this version has 4 zip binaries: a generic one and three bundled with Tomcat native binaries for Windows operating systems running on different CPU architectures. Downloads: http://tomcat.apache.org/download-70.cgi Migration guide from Apache Tomcat 5.5.x and 6.0.x: http://tomcat.apache.org/migration.html Thank you, -- The Apache Tomcat Team - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1136867 - in /tomcat/trunk/test/org/apache/catalina/comet: ./ TestCometProcessor.java
Author: markt Date: Fri Jun 17 13:03:30 2011 New Revision: 1136867 URL: http://svn.apache.org/viewvc?rev=1136867&view=rev Log: Add a simple Comet test case Added: tomcat/trunk/test/org/apache/catalina/comet/ tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java (with props) Added: tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java?rev=1136867&view=auto == --- tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java (added) +++ tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java Fri Jun 17 13:03:30 2011 @@ -0,0 +1,174 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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.catalina.comet; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.Socket; + +import javax.net.SocketFactory; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import org.apache.catalina.Context; +import org.apache.catalina.comet.CometEvent.EventType; +import org.apache.catalina.startup.Tomcat; +import org.apache.catalina.startup.TomcatBaseTest; + +public class TestCometProcessor extends TomcatBaseTest { + +public void testSimpleCometClient() throws Exception { + +if (!isCometSupported()) { +return; +} + +// Setup Tomcat instance +Tomcat tomcat = getTomcatInstance(); +Context root = tomcat.addContext("", TEMP_DIR); +Tomcat.addServlet(root, "comet", new SimpleCometServlet()); +root.addServletMapping("/", "comet"); +tomcat.start(); + +// Create connection to Comet servlet +final Socket socket = +SocketFactory.getDefault().createSocket("localhost", getPort()); +socket.setSoTimeout(6); + +final OutputStream os = socket.getOutputStream(); +String requestLine = "POST http://localhost:"; + getPort() + +"/ HTTP/1.1\r\n"; +os.write(requestLine.getBytes()); +os.write("transfer-encoding: chunked\r\n".getBytes()); +os.write("\r\n".getBytes()); + +Thread writeThread = new Thread(new Runnable() { + +@Override +public void run() { +try { +for (int i = 0; i < 4; i++) { +os.write("4\r\n".getBytes()); +os.write("PING\r\n".getBytes()); +os.flush(); +Thread.sleep(2000); +} +os.write("0\r\n".getBytes()); +os.write("\r\n".getBytes()); +} catch (Throwable e) { +e.printStackTrace(); +} +} +}); + +writeThread.start(); + +StringBuffer buffer = new StringBuffer(); +socket.setSoTimeout(25000); +InputStream is = socket.getInputStream(); +int c = is.read(); +while (c > -1) { +buffer.append((char) c); +c = is.read(); +} +os.close(); + +// Validate response +String[] response = buffer.toString().split("\r\n"); +// Expect 26 lines +assertEquals(26, response.length); +assertEquals("HTTP/1.1 200 OK", response[0]); +assertEquals("Server: Apache-Coyote/1.1", response[1]); +assertTrue(response[2].startsWith("Set-Cookie: JSESSIONID=")); +assertEquals("Content-Type: text/plain;charset=ISO-8859-1", response[3]); +assertEquals("Transfer-Encoding: chunked", response[4]); +assertTrue(response[5].startsWith("Date: ")); +assertEquals("", response[6]); +assertEquals("7", response[7]); +assertEquals("BEGIN", response[8]); +assertEquals("", response[9]); +assertEquals("17", response[10]); +assertEquals("Client:
Re: Questions about the ajp1.3 connector
On 15.06.2011 08:18, 姚伟斌 wrote: > Hi, folks, > > I have some questions about the ajp1.3 connector. Is there any other > official document for ajp1.3 connector? This url ( > http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html) seems lack of > something. No, that is the official protocol documentation. > In Send Body Chunk Packet, Is always there an extra zero byte with each > packet chunk? Include the zero length chunk? Hmm, not sure what you mean, you would need to show a packet dump. Since you mention a zero length chunk: this could be the use of the cping/cpong feature (connection testing), which uses packets with empty bodies. You can always use mod_jk with JkLogLevel trace to get a complete packet dump of communications and compare with your implementation. If you have additions for the docs, let us know, so that we can include it. > I have developed a module for the AJP connection between Nginx and Tomcat( > https://github.com/yaoweibin/nginx_ajp_module/tree/test_for_ferenc). Cool. > But it > seems there are some problems with the response body chunk If you present readable packet dumps and ask more precisely about which bytes you are unsure, we might be able to explain :) Regards, Rainer - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1136902 - /tomcat/trunk/modules/jdbc-pool/
Author: markt Date: Fri Jun 17 14:56:05 2011 New Revision: 1136902 URL: http://svn.apache.org/viewvc?rev=1136902&view=rev Log: Ignore Eclipse files Modified: tomcat/trunk/modules/jdbc-pool/ (props changed) Propchange: tomcat/trunk/modules/jdbc-pool/ -- --- svn:ignore (original) +++ svn:ignore Fri Jun 17 14:56:05 2011 @@ -1,7 +1,7 @@ +.classpath +.project +.settings +bin build.properties includes output -.settings -.classpath -bin - - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1136923 - in /tomcat/trunk/java/org/apache: coyote/ajp/AjpNioProtocol.java coyote/http11/Http11NioProtocol.java tomcat/util/net/NioEndpoint.java
Author: markt Date: Fri Jun 17 16:17:21 2011 New Revision: 1136923 URL: http://svn.apache.org/viewvc?rev=1136923&view=rev Log: Connector re-factoring No functional change Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java?rev=1136923&r1=1136922&r2=1136923&view=diff == --- tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java Fri Jun 17 16:17:21 2011 @@ -207,7 +207,7 @@ public class AjpNioProtocol extends Abst } @Override -public SocketState process(NioChannel socket) { +public SocketState process(NioChannel socket, SocketStatus status) { AjpNioProcessor processor = connections.remove(socket); try { if (processor == null) { Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java?rev=1136923&r1=1136922&r2=1136923&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java Fri Jun 17 16:17:21 2011 @@ -293,7 +293,7 @@ public class Http11NioProtocol extends A } @Override -public SocketState process(NioChannel socket) { +public SocketState process(NioChannel socket, SocketStatus status) { Http11NioProcessor processor = connections.remove(socket); try { if (processor == null) { Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1136923&r1=1136922&r2=1136923&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Fri Jun 17 16:17:21 2011 @@ -1482,7 +1482,7 @@ public class NioEndpoint extends Abstrac * thread local fields. */ public interface Handler extends AbstractEndpoint.Handler { -public SocketState process(NioChannel socket); +public SocketState process(NioChannel socket, SocketStatus status); public SocketState event(NioChannel socket, SocketStatus status); public void release(NioChannel socket); public void release(SocketChannel socket); @@ -1529,7 +1529,11 @@ public class NioEndpoint extends Abstrac if ( handshake == 0 ) { SocketState state = SocketState.OPEN; // Process the request from this socket -state = (status==null)?handler.process(socket):handler.event(socket,status); +if (status == null) { +state = handler.process(socket, SocketStatus.OPEN); +} else { +state = handler.event(socket, status); +} if (state == SocketState.CLOSED) { // Close socket and pool - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 50567] Classpath does not need to reference tomcat-dbcp.jar
https://issues.apache.org/bugzilla/show_bug.cgi?id=50567 Sebb changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #1 from Sebb 2011-06-17 16:57:04 UTC --- Eclipse files were deleted from SVN so problem has gone away -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1137041 - /tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java
Author: markt Date: Fri Jun 17 21:35:59 2011 New Revision: 1137041 URL: http://svn.apache.org/viewvc?rev=1137041&view=rev Log: Connector refactoring No functional change Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java?rev=1137041&r1=1137040&r2=1137041&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java Fri Jun 17 21:35:59 2011 @@ -154,7 +154,13 @@ public class Http11Protocol extends Abst processor.setSSLSupport(null); } -SocketState state = socket.isAsync()?processor.asyncDispatch(status):processor.process(socket); +SocketState state; +if (socket.isAsync()) { +state = processor.asyncDispatch(status); +} else { +state = processor.process(socket); +} + if (state == SocketState.LONG) { connections.put(socket, processor); socket.setAsync(true); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1137044 - /tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java
Author: markt Date: Fri Jun 17 21:41:32 2011 New Revision: 1137044 URL: http://svn.apache.org/viewvc?rev=1137044&view=rev Log: Connector refactoring No functional change Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java?rev=1137044&r1=1137043&r2=1137044&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java Fri Jun 17 21:41:32 2011 @@ -161,12 +161,14 @@ public class Http11Protocol extends Abst state = processor.process(socket); } -if (state == SocketState.LONG) { +if (processor.isAsync()) { +state = processor.asyncPostProcess(); +} + +if (state == SocketState.LONG || +state == SocketState.ASYNC_END) { connections.put(socket, processor); socket.setAsync(true); -// longPoll may change socket state (e.g. to trigger a -// complete or dispatch) -return processor.asyncPostProcess(); } else { socket.setAsync(false); processor.recycle(); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1137047 - /tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java
Author: markt Date: Fri Jun 17 21:56:58 2011 New Revision: 1137047 URL: http://svn.apache.org/viewvc?rev=1137047&view=rev Log: Connector re-factoring First step towards removing SocketState.ASYNC_END from the endpoint Also a few percent faster, at least running the Async unit tests Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java?rev=1137047&r1=1137046&r2=1137047&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java Fri Jun 17 21:56:58 2011 @@ -154,19 +154,22 @@ public class Http11Protocol extends Abst processor.setSSLSupport(null); } -SocketState state; -if (socket.isAsync()) { -state = processor.asyncDispatch(status); -} else { -state = processor.process(socket); -} - -if (processor.isAsync()) { -state = processor.asyncPostProcess(); -} +SocketState state = SocketState.CLOSED; +do { +if (socket.isAsync() || state == SocketState.ASYNC_END) { +state = processor.asyncDispatch(status); +} else { +state = processor.process(socket); +} + +if (processor.isAsync()) { +state = processor.asyncPostProcess(); +} +} while (state == SocketState.ASYNC_END); +// TODO Better to add a new state to the AsyncStateMachine and +// remove ASYNC_END entirely -if (state == SocketState.LONG || -state == SocketState.ASYNC_END) { +if (state == SocketState.LONG) { connections.put(socket, processor); socket.setAsync(true); } else { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1137048 - /tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java
Author: markt Date: Fri Jun 17 22:01:35 2011 New Revision: 1137048 URL: http://svn.apache.org/viewvc?rev=1137048&view=rev Log: Connector re-factoring Align Ajp impl with Http impl for BIO Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java?rev=1137048&r1=1137047&r2=1137048&view=diff == --- tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java Fri Jun 17 22:01:35 2011 @@ -135,13 +135,24 @@ public class AjpProtocol extends Abstrac processor = createProcessor(); } -SocketState state = socket.isAsync()?processor.asyncDispatch(status):processor.process(socket); +SocketState state = SocketState.CLOSED; +do { +if (socket.isAsync() || state == SocketState.ASYNC_END) { +state = processor.asyncDispatch(status); +} else { +state = processor.process(socket); +} + +if (processor.isAsync()) { +state = processor.asyncPostProcess(); +} +} while (state == SocketState.ASYNC_END); +// TODO Better to add a new state to the AsyncStateMachine and +// remove ASYNC_END entirely + if (state == SocketState.LONG) { connections.put(socket, processor); socket.setAsync(true); -// longPoll may change socket state (e.g. to trigger a -// complete or dispatch) -return processor.asyncPostProcess(); } else { socket.setAsync(false); processor.recycle(); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1137049 - /tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java
Author: markt Date: Fri Jun 17 22:03:10 2011 New Revision: 1137049 URL: http://svn.apache.org/viewvc?rev=1137049&view=rev Log: SocketState.ASYNC_END should no longer reach BIO endpoint Modified: tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java?rev=1137049&r1=1137048&r2=1137049&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java Fri Jun 17 22:03:10 2011 @@ -322,8 +322,7 @@ public class JIoEndpoint extends Abstrac } catch (IOException e) { // Ignore } -} else if (state == SocketState.ASYNC_END || -state == SocketState.OPEN){ +} else if (state == SocketState.OPEN){ socket.setKeptAlive(true); socket.access(); launch = true; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1137052 - in /tomcat/trunk/java/org/apache/coyote: ajp/AjpProtocol.java http11/Http11Protocol.java
Author: markt Date: Fri Jun 17 22:16:26 2011 New Revision: 1137052 URL: http://svn.apache.org/viewvc?rev=1137052&view=rev Log: Connector re-factoring Remove the need to track isAsync in the SocketWrapper Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java?rev=1137052&r1=1137051&r2=1137052&view=diff == --- tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java Fri Jun 17 22:16:26 2011 @@ -137,7 +137,7 @@ public class AjpProtocol extends Abstrac SocketState state = SocketState.CLOSED; do { -if (socket.isAsync() || state == SocketState.ASYNC_END) { +if (processor.isAsync() || state == SocketState.ASYNC_END) { state = processor.asyncDispatch(status); } else { state = processor.process(socket); @@ -152,9 +152,7 @@ public class AjpProtocol extends Abstrac if (state == SocketState.LONG) { connections.put(socket, processor); -socket.setAsync(true); } else { -socket.setAsync(false); processor.recycle(); recycledProcessors.offer(processor); } Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java?rev=1137052&r1=1137051&r2=1137052&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java Fri Jun 17 22:16:26 2011 @@ -156,7 +156,7 @@ public class Http11Protocol extends Abst SocketState state = SocketState.CLOSED; do { -if (socket.isAsync() || state == SocketState.ASYNC_END) { +if (processor.isAsync() || state == SocketState.ASYNC_END) { state = processor.asyncDispatch(status); } else { state = processor.process(socket); @@ -171,9 +171,7 @@ public class Http11Protocol extends Abst if (state == SocketState.LONG) { connections.put(socket, processor); -socket.setAsync(true); } else { -socket.setAsync(false); processor.recycle(); recycledProcessors.offer(processor); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1137059 - in /tomcat/trunk/java/org/apache: coyote/ajp/AjpNioProtocol.java coyote/http11/Http11NioProtocol.java tomcat/util/net/NioEndpoint.java
Author: markt Date: Fri Jun 17 22:37:53 2011 New Revision: 1137059 URL: http://svn.apache.org/viewvc?rev=1137059&view=rev Log: Connector re-factoring Broadly align NIO Handler.process with BIO Handler.process Remove event() method from NIO handler Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java?rev=1137059&r1=1137058&r2=1137059&view=diff == --- tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java Fri Jun 17 22:37:53 2011 @@ -165,50 +165,13 @@ public class AjpNioProtocol extends Abst recycledProcessors.offer(processor); } -// FIXME: Support for Comet could be added in AJP as well -@Override -public SocketState event(NioChannel socket, SocketStatus status) { -AjpNioProcessor processor = connections.get(socket); -NioEndpoint.KeyAttachment att = (NioEndpoint.KeyAttachment)socket.getAttachment(false); -att.setAsync(false); //no longer check for timeout -SocketState state = SocketState.CLOSED; -if (processor != null) { -try { -state = processor.asyncDispatch(status); -} -// Future developers: if you discover any other -// rare-but-nonfatal exceptions, catch them here, and log as -// above. -catch (Throwable e) { -ExceptionUtils.handleThrowable(e); -// any other exception or error is odd. Here we log it -// with "ERROR" level, so it will show up even on -// less-than-verbose logs. -AjpNioProtocol.log.error -(sm.getString("ajpprotocol.proto.error"), e); -} finally { -if (processor.isAsync()) { -state = processor.asyncPostProcess(); -} -if (state == SocketState.OPEN || state == SocketState.CLOSED) { -release(socket, processor); -if (state == SocketState.OPEN) { -socket.getPoller().add(socket); -} -} else if (state == SocketState.LONG) { -att.setAsync(true); // Re-enable timeouts -} else { -// state == SocketState.ASYNC_END -// No further work required -} -} -} -return state; -} - @Override public SocketState process(NioChannel socket, SocketStatus status) { AjpNioProcessor processor = connections.remove(socket); + +NioEndpoint.KeyAttachment att = (NioEndpoint.KeyAttachment)socket.getAttachment(false); +att.setAsync(false); //no longer check for timeout + try { if (processor == null) { processor = recycledProcessors.poll(); @@ -217,20 +180,25 @@ public class AjpNioProtocol extends Abst processor = createProcessor(); } -SocketState state = processor.process(socket); +SocketState state = SocketState.CLOSED; +do { +if (processor.isAsync() || state == SocketState.ASYNC_END) { +state = processor.asyncDispatch(status); +} else { +state = processor.process(socket); +} + +if (processor.isAsync()) { +state = processor.asyncPostProcess(); +} +} while (state == SocketState.ASYNC_END); + if (state == SocketState.LONG) { // In the middle of processing a request/response. Keep the // socket associated with the processor. connections.put(socket, processor); -NioEndpoint.KeyAttachment att = (NioEndpoint.KeyAttachment)socket.getAttachment(false); att.setAsync(true); -// longPoll may change socket state (e.g. to trigger a -// complete or dispatch) -state = processor.asyncPostProcess(); -} -if (state == SocketState.LONG || state == SocketState.ASYNC_END) { -// Already done all we need to do.
svn commit: r1137062 - /tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java
Author: markt Date: Fri Jun 17 22:46:12 2011 New Revision: 1137062 URL: http://svn.apache.org/viewvc?rev=1137062&view=rev Log: Speed up test Modified: tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java Modified: tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java?rev=1137062&r1=1137061&r2=1137062&view=diff == --- tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java (original) +++ tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java Fri Jun 17 22:46:12 2011 @@ -69,7 +69,7 @@ public class TestCometProcessor extends os.write("4\r\n".getBytes()); os.write("PING\r\n".getBytes()); os.flush(); -Thread.sleep(2000); +Thread.sleep(1000); } os.write("0\r\n".getBytes()); os.write("\r\n".getBytes()); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org