Hi,
I am pretty sure, 15 sec. delay is enough to open additional browsers
windows ;-)
I try to run code with io.undertow:undertow-core:1.0.0.Final on mac with OS
X 10.9.1 with jdk 1.7.0_51.
So, could anybody reproduce this issue or give me feedback where is my
error?
Best,
Mikhail
2014-02-18 5:22 GMT+02:00 Stuart Douglas <sdouglas(a)redhat.com>:
Are you sure the requests are actually being made simultaneously?
That
code should definitely work.
Stuart
----- Original Message -----
> From: "Mikhail Tyamin" <mikhail.tiamine(a)gmail.com>
> To: undertow-dev(a)lists.jboss.org
> Sent: Monday, 17 February, 2014 3:03:41 PM
> Subject: [undertow-dev] what I do wrong?
>
> Hello guys,
>
> could you help me a little bit with Undertow?
>
> I follow all instructions in Undertown's poor documentation. So here is
the
> class :
>
> public class HelloWorldServer {
>
> public static void main(String... args) {
> Undertow server = Undertow.builder()
> .addHttpListener(8080, "localhost")
> .setHandler(new HttpHandler() {
> @Override
> public void handleRequest(final HttpServerExchange exchange) throws
Exception
> {
> if (exchange.isInIoThread()) {
> System.out.println("Thread #" + Thread.currentThread().getName() + "
is
I/O :
> handle this");
> exchange.dispatch(this);
> return;
> }
>
> //[1]
> System.out.println("Thread #" + Thread.currentThread().getName() + "
Start
> waiting");
> Thread.sleep(15000);
> System.out.println("Thread #" + Thread.currentThread().getName() + "
Finish
> waiting");
>
> System.out.println();
>
> exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/plain");
> exchange.getResponseSender().send("Hello world from thread " +
> Thread.currentThread().getId());
> //[2]
> }
> }).build();
>
> server.start();
> }
> }
>
> When I start it and make three http get request simultaneously I can see
this
> output in console :
>
> Thread #XNIO-1 I/O-1 is I/O : handle this
> Thread #XNIO-1 task-1 Start waiting
> Thread #XNIO-1 task-1 Finish waiting
>
> Thread #XNIO-1 I/O-1 is I/O : handle this
> Thread #XNIO-1 task-2 Start waiting
> Thread #XNIO-1 task-2 Finish waiting
>
> Thread #XNIO-1 I/O-1 is I/O : handle this
> Thread #XNIO-1 task-3 Start waiting
> Thread #XNIO-1 task-3 Finish waiting
>
>
> I think that code beetween //[1] and //[2] should perform in separate
thread
> (and as we can see from the console it really does), but why the main I/O
> thread are waiting and does not handle other requests?
>
> So if my code is correct than it means that Undertow could handle one
request
> in time...
>
> What I do wrong?
>
> Best,
> Mikhail
>
> _______________________________________________
> undertow-dev mailing list
> undertow-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/undertow-dev