[undertow-dev] what I do wrong?

Mikhail Tyamin mikhail.tiamine at gmail.com
Wed Feb 19 12:53:31 EST 2014


Hi,

you are right! I tried with Safari and it works as expected.

Maybe somebody from undertow's team could explain why?

Best,
Mikhail

Best,
Mikhail


2014-02-18 16:50 GMT+02:00 lanabe <lanabe.lanabe at gmail.com>:

> Hi, Mikhail.
>
> I got the same log.
>
> [environment]
> Undertow: io.undertow:undertow-core:1.0.0.Final
> OS: Fedora19(64bit)
> JDK: OpenJDK 1.7.0_51
> Client: Google Chrome 32.0.1700.107, Firefox 26.0
>
> ---
> 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
> ---
>
> but, I got the expected following log by using curl.
> ---
> Thread #XNIO-1 I/O-1 is I/O : handle this
> Thread #XNIO-1 task-1 Start waiting
> Thread #XNIO-1 I/O-1 is I/O : handle this
> Thread #XNIO-1 task-2 Start waiting
> Thread #XNIO-1 I/O-2 is I/O : handle this
> Thread #XNIO-1 task-3 Start waiting
> Thread #XNIO-1 task-1 Finish waiting
>
> Thread #XNIO-1 task-2 Finish waiting
>
> Thread #XNIO-1 task-3 Finish waiting
> ---
>
> hmm...Does it depends on browser settings?
>
> Yoshimasa Tanabe
>
>
> On Tue, Feb 18, 2014 at 3:10 PM, Mikhail Tyamin <mikhail.tiamine at gmail.com
> > wrote:
>
>> 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 at 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 at gmail.com>
>>> > To: undertow-dev at 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 at lists.jboss.org
>>> > https://lists.jboss.org/mailman/listinfo/undertow-dev
>>>
>>
>>
>> _______________________________________________
>> undertow-dev mailing list
>> undertow-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/undertow-dev
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/undertow-dev/attachments/20140219/66e3e9f8/attachment-0001.html 


More information about the undertow-dev mailing list