Hi there,
got an exception doing that
1) running a gws (as .java on
this mail)
2) refresh quickly at
http://127.0.0.1:6666/ using firefox
for 10-12 time
3) KABOOM :)
java.io.IOException: write beyond end of
stream
at java.util.zip.DeflaterOutputStream.write
(DeflaterOutputStream.java:104)
at java.util.zip.GZIPOutputStream.write
(GZIPOutputStream.java:72)
at com.sun.grizzly.tcp.http11.filters.
GzipOutputFilter.doWrite(GzipOutputFilter.java:125)
at com.sun.grizzly.
tcp.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:640)
at com.sun.grizzly.tcp.Response.doWrite(Response.java:676)
at test.
wsTest$myAdapter.doWrite(wsTest.java:55)
at test.wsTest$myAdapter.
service(wsTest.java:38)
at com.sun.grizzly.tcp.http11.GrizzlyAdapter.
service(GrizzlyAdapter.java:166)
at com.sun.grizzly.tcp.http11.
GrizzlyAdapterChain.service(GrizzlyAdapterChain.java:180)
at com.sun.
grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166)
at
com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:
791)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.
java:693)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.
java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute
(DefaultProtocolFilter.java:170)
at com.sun.grizzly.
DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:
135)
at com.sun.grizzly.DefaultProtocolChain.execute
(DefaultProtocolChain.java:102)
at com.sun.grizzly.
DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.
grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at
com.sun.grizzly.ProtocolChainContextTask.doCall
(ProtocolChainContextTask.java:53)
at com.sun.grizzly.
SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.
sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.
util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at
com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.
java:309)
at java.lang.Thread.run(Thread.java:619)
probably the GZIP
cause this problem (where probably -> for sure).
This only happen when
buffer to write is bigger than some min amount (??) probably there is a
limit for the compression
Best regards! :)
---------------------------------------------------------------------------------------------------
package test;
import com.eg.euler.Util;
import com.eg.euler.ipc.http.
newHttp.grizzly.GrizzlyResAdapter;
import com.eg.euler.jsp.JspParser;
import com.sun.grizzly.http.embed.GrizzlyWebServer;
import com.sun.
grizzly.tcp.http11.GrizzlyAdapter;
import com.sun.grizzly.tcp.http11.
GrizzlyRequest;
import com.sun.grizzly.tcp.http11.GrizzlyResponse;
import com.sun.grizzly.util.DefaultThreadPool;
import com.sun.grizzly.
util.buf.ByteChunk;
import java.io.*;
public class wsTest {
public static void main(String args[]) throws Throwable {
GrizzlyWebServer gws;
DefaultThreadPool.
DEFAULT_IDLE_THREAD_KEEPALIVE_TIMEOUT = 1000*60*5;
gws = new
GrizzlyWebServer(6666,"",false);
gws.getSelectorThread().
setDisplayConfiguration(true);
gws.getSelectorThread().
setCompression("on");
gws.addGrizzlyAdapter(new myAdapter(),new
String[]{"/"});
gws.start();
}
private static class
myAdapter extends GrizzlyAdapter {
@Override
public
void service(GrizzlyRequest grizzlyRequest, GrizzlyResponse
grizzlyResponse) {
try {
String bb = "a";
for (int i = 0;i<15;i++)
bb=bb+bb+"
\n";
grizzlyResponse.setContentType("text/html");
grizzlyResponse.setStatus(500);
doWrite
(grizzlyResponse,bb,"UTF-8");
} catch (Throwable e)
{
}
}
private void doWrite
(GrizzlyResponse httpResp,String msg,String encode) throws IOException
{
try
{
byte b[] = msg.
getBytes(encode);
ByteChunk chunk = new ByteChunk();
int len = b.length;
chunk.setBytes(b,0,
len);
httpResp.setCharacterEncoding(encode);
httpResp.setContentLength(len);
httpResp.getResponse().doWrite(chunk);
}
catch
(Throwable e)
{
e.printStackTrace();
}
}
}
}
Presentaci un amico! Invita i tuoi amici a scoprire i servizi Tiscali: per ogni amico che attiverà un servizio Tiscali, potrai avere 30 euro di sconto e lo stesso sconto di 30 euro verrà poi offerto al tuo amico.
Scopri come!
http://abbonati.tiscali.it/presentaci_un_amico/?WT.mc_id=01fw