On Fri, Aug 16, 2013 at 9:54 AM, Mark Thomas <ma...@apache.org> wrote:

> Christopher Schultz <ch...@christopherschultz.net> wrote:
> >Mark,
> >
> >On 8/15/13 6:47 PM, Mark Thomas wrote:
> >> This isn't going to be quite as simple as I first thought.
> >>
> >> The WebSocket client API requires Java SE 7 or later.
> >> The WebSocket server API requires Java EE 6 or later.
> >> Java EE 6 requires Java 6 or later.
> >
> >Clarification: are you saying that Java EE requires that it be allowed
> >to run on JVMs as low as Java 6?
>
> Java EE 6 is the version Tomcat 7 uses.
>
> >> The WebSocket server API depends on the WebSocket client API.
> >>
> >> The WebSocket client implementation makes extensive use of new Java 7
> >> non-blocking IO features.
> >
> >Are any of these possible (albeit with some back-flips) with Java 6?
>
> The first thing I thought of. It is possible but would require a selector,
> poller and thread pool implementation plus associated plumbing. Java 7
> looks like the better option at this point.
>
> >Perhaps one class (Java7NioShims) could be replaced with another
> >implementation (Java6NioShim) at runtime depending upon the current
> >JVM?
> >I know nothing about the code involved... just stabbing in the dark.
> >
> >> My conclusion from the above is that the back-port is going to
> >require
> >> Java 7. That begs the question how to do that while keeping the main
> >> build Java 6 based.
> >>
> >> My (untested) plan is as follows:
> >> - Create a WebSocket module
> >> - Back-port (i.e. copy) the trunk code to that module
> >> - Build just that module with Java 7
> >> - Make the minimum changes necessary to get it to work
> >> - Modify the back-ported SCI so it only adds the filter if Java 7 is
> >> detected (going to need to ensure the SCI is executable on Java 6)
> >> - Ship Tomcat 7 with the WebSocket JARs
> >
> >I'm not sure there's a better way, but the whole
> >compile-one-module-with-a-higher-version thing has been a small thorn
> >in
> >the past (IIRC, Tomcat 6 had to be built with Java 6, but could be run
> >with Java 5) causing a mild amount of confusion. If this could be
> >avoided, I think it might be best.
>
> I know. I'm trying to find the minimum effort, minimum risk, minimum
> hassle solution but there isn't a perfect solution that I can see.
>
> >Maybe we could package JSR-356-for-Tomcat7 as an optional module that
> >has a Java 7 prerequisite?
>
> I'd really like to ship JSR-356 suport as standard.
>

How about making Java 7 hard requirement for releases that include JSR 356
implementation? Is this OK?
It's preferable to keep the implementations in Tomcat 7 and Tomcat 8 as
close as possible.


> Mark
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>

Reply via email to