Author: remy.maucherat(a)jboss.com
Date: 2008-03-11 08:23:36 -0400 (Tue, 11 Mar 2008)
New Revision: 491
Modified:
trunk/webapps/docs/aio.xml
Log:
- Minor example code update.
Modified: trunk/webapps/docs/aio.xml
===================================================================
--- trunk/webapps/docs/aio.xml 2008-03-11 12:20:25 UTC (rev 490)
+++ trunk/webapps/docs/aio.xml 2008-03-11 12:23:36 UTC (rev 491)
@@ -201,7 +201,8 @@
throws IOException, ServletException {
HttpServletRequest request = event.getHttpServletRequest();
HttpServletResponse response = event.getHttpServletResponse();
- if (event.getType() == CometEvent.EventType.BEGIN) {
+ switch (event.getType()) {
+ case BEGIN:
log("Begin for session: " + request.getSession(true).getId());
PrintWriter writer = response.getWriter();
writer.println("<!doctype html public \"-//w3c//dtd html 4.0
transitional//en\">");
@@ -210,13 +211,15 @@
synchronized(connections) {
connections.add(response);
}
- } else if (event.getEventType() == CometEvent.EventType.ERROR) {
+ break;
+ case ERROR:
log("Error for session: " + request.getSession(true).getId());
synchronized(connections) {
connections.remove(response);
}
event.close();
- } else if (event.getEventType() == CometEvent.EventType.END) {
+ break;
+ case END:
log("End for session: " + request.getSession(true).getId());
synchronized(connections) {
connections.remove(response);
@@ -224,19 +227,20 @@
PrintWriter writer = response.getWriter();
writer.println("</body></html>");
event.close();
- } else if (event.getEventType() == CometEvent.EventType.READ) {
+ break;
+ case READ:
InputStream is = request.getInputStream();
byte[] buf = new byte[512];
- do {
+ while (is.available() > 0) {
int n = is.read(buf); //can throw an IOException
if (n > 0) {
log("Read " + n + " bytes: " + new String(buf, 0,
n)
+ " for session: " +
request.getSession(true).getId());
- } else if (n < 0) {
+ } else {
error(event, request, response);
return;
}
- } while (is.available() > 0);
+ }
}
}
@@ -283,6 +287,7 @@
messages.clear();
}
// Send any pending message on all the open connections
+ // If a connection backlogs, there will be an exception
for (int i = 0; i < connections.size(); i++) {
try {
PrintWriter writer = connections.get(i).getWriter();
Show replies by date