You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by "Filip Hanik (mailing lists)" <de...@hanik.com> on 2012/06/27 21:16:13 UTC

Starting on 3.1 implementation

As some of you noticed, I added in the stubs for Servlet 3.1 yesterday.

I'm planning on starting on 3.1 features, mainly the non blocking
read/writes. 
In Tomcat, we already have an implementation of this in the sandbox
http://svn.apache.org/viewvc/tomcat/sandbox/gdev6x/
That works fully, and I'll probably model it after that.

There are a couple of things I suggest with that for trunk

1. Make the NIO connector the default, so that no configuration changes are
required to use 3.1 features
2. Retain BIO connectors, it will simply throw IllegalStateExceptions or
OperationNotSupported exceptions where appropriate

3.1 seems to be a fairly minor update so far, so we should be able to start
pushing Tomcat 8 right around the time as the spec is finalized.

Filip



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


RE: Starting on 3.1 implementation

Posted by "Filip Hanik (mailing lists)" <de...@hanik.com>.
> 
> > 3.1 seems to be a fairly minor update so far, so we should be able to
> start
> > pushing Tomcat 8 right around the time as the spec is finalized.
> 
> Just a word of caution. The EG is far from agreed on the best way to do
> the non-blocking API at the moment. As with happened with the 3.0 async
> API, a complete re-write could still happen.
[Filip Hanik] 
I'd expect this API to change

    public abstract boolean canWrite();

if this returns true, and then I write 1MB of buffered data, what does the
system expect this to be non blocking?
The better signature would have been 
    public abstract int canWrite();

and at least return the number of free bytes we have in the response buffer
(configurable)

Filip



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: Starting on 3.1 implementation

Posted by Mark Thomas <ma...@apache.org>.
On 27/06/2012 20:49, Filip Hanik (mailing lists) wrote:

>> My current focus on Tomcat 8 is re-factoring the resources to remove all
>> the JNDI stuff. After that, I'll probably look at the HTTP upgrade bit.
> 
> [Filip Hanik] 
> Interesting, what's up with JNDI, prolly something I missed from an earlier
> discussion?

Short version
- it needs cleaning up anyway
- using JNDI just adds unnecessary complexity

Longer version:
http://tomcat.markmail.org/thread/7dlsk6jyfrdrbd3l

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


RE: Starting on 3.1 implementation

Posted by "Filip Hanik (mailing lists)" <de...@hanik.com>.
> > 3.1 seems to be a fairly minor update so far, so we should be able to
> start
> > pushing Tomcat 8 right around the time as the spec is finalized.
> 
> Just a word of caution. The EG is far from agreed on the best way to do
> the non-blocking API at the moment. As with happened with the 3.0 async
> API, a complete re-write could still happen.

[Filip Hanik] 
That's ok. Non blocking can be done in many ways. As with the sandbox
example, it was done without modifying streams, and still worked. 
So as long as the underlying implementation supports it, I don't suspect
that an API change would change a lot in the belly of the beast.

> 
> The EL EG has added a whole bunch of features. On the plus side the
> updated jjt file is included in the spec that should speed things up a
> fair bit.
> 
> I haven't heard anything in terms of JSP updates. I can't imagine there
> will be much there.
> 
> My current focus on Tomcat 8 is re-factoring the resources to remove all
> the JNDI stuff. After that, I'll probably look at the HTTP upgrade bit.

[Filip Hanik] 
Interesting, what's up with JNDI, prolly something I missed from an earlier
discussion?

Filip 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: Starting on 3.1 implementation

Posted by Mark Thomas <ma...@apache.org>.
On 27/06/2012 20:16, Filip Hanik (mailing lists) wrote:
> As some of you noticed, I added in the stubs for Servlet 3.1 yesterday.
> 
> I'm planning on starting on 3.1 features, mainly the non blocking
> read/writes. 
> In Tomcat, we already have an implementation of this in the sandbox
> http://svn.apache.org/viewvc/tomcat/sandbox/gdev6x/
> That works fully, and I'll probably model it after that.
> 
> There are a couple of things I suggest with that for trunk
> 
> 1. Make the NIO connector the default, so that no configuration changes are
> required to use 3.1 features
+1

> 2. Retain BIO connectors, it will simply throw IllegalStateExceptions or
> OperationNotSupported exceptions where appropriate
+1

> 3.1 seems to be a fairly minor update so far, so we should be able to start
> pushing Tomcat 8 right around the time as the spec is finalized.

Just a word of caution. The EG is far from agreed on the best way to do
the non-blocking API at the moment. As with happened with the 3.0 async
API, a complete re-write could still happen.

The EL EG has added a whole bunch of features. On the plus side the
updated jjt file is included in the spec that should speed things up a
fair bit.

I haven't heard anything in terms of JSP updates. I can't imagine there
will be much there.

My current focus on Tomcat 8 is re-factoring the resources to remove all
the JNDI stuff. After that, I'll probably look at the HTTP upgrade bit.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org