Mon, Nov 21, 2005 at 11:55:08AM +0100, Remy Maucherat wrote:
Henri Gomez wrote:
>Well why so much noise about NI/APR ?
Because I don't want to have to support 20 different connector
technologies (you can call it a business requirement). So one has to be
labelled as "experimental" or something. Similarly, the connector
options right now are (for me) a bit too large.
Remy,
If you think this is a problem why do not you consider making Coyote API
more abstract and let people with specific requirements develop their
stuff as separate projects outside Tomcat proper, while you can
concentrate on developing one or two standard connectors that serve the
needs of the majority of users? Presently Coyote API is tightly coupled
with the default HTTP implementation, which makes development of third
party connectors difficult. Another problem is that some transport layer
aspects such as cookie handling are presently implemented in Catalina
and are intermingled with application layer aspects whereas they should
be implemented by connectors and made customizable to allow for
application specific or non-standard behaviours.
If Coyote API were more abstract and less dependent on concrete classes
in the o.a.tomcat.util package it would foster a greater ecology of
smaller projects around Tomcat and would allow interested parties to
experiment with alternative connector architectures with minimal to no
involvement on the part of Tomcat committers
Cheers,
>If some want to experiment APR or NI, why can't they do their works
>on some sort of incubations projets and when stable enough give us
>benchmarks results.
>
>Benchmarks/tesings should give us information on :
>
>stability, speed, memory usage, I usage and of course we should have
>these on many platforms. For example if the alternative implementation
>is running fast as hell on Linux but has no gain on Windows or iSeries
>should we consider it usefull to users ?
>
>Also should we depend on APR on a java centric project ?
Apparently not ;)
>I've got no problem with APR, it's a very good piece of code, running
>well even on exotic platforms like iSeries (and probably BS2000 jfc
>?), but should we use a native library as the fundation of Java
>products ?
The code it replaces in the JVM is all native, written by the JVM
vendor. For most users, it's written by Sun, and parts of it (java.nio
select functionality, for example) have seen reliability issues. Fixing
these kind of problems in this key component (at least in the case of a
web server) requires updating the whole JVM. Besides Sun, and hopefully
the other JVM vendors, I don't see how to actually do support on a NI
Tomcat.
APR TH is used heavily in a similar production usage on all the
platforms that we want to support.
>Also since we're speaking about a future Tomcat redesign, shouldn't we
>take care of the future JVM implementations ? Sun, IBM JVMs for now
>but in the future GJC and upcoming Harmony ? If these use APR or
>something similar in native land, should we use APR directly ?
Unless the said JVMs get certified, I think only a few people are going
to use them for real usage. BTW, yes, APR is still needed, as the JVM
can only expose a small subset of the functionality through java.nio.
>I'd like to see here pragmatics informations on gains expected when
>using NI/APR/WHATEVER in real life situations which is what users and
>admins expects.
I can give a real life example using AJP where the current connector
doesn't work. If you have many front end Apache servers and few Tomcat
servers, since the AJP connections are persistent, the backend servers
will not be able to serve requests. APR allows using a poller for
keepalive, so this solves the problem and the thread count on backend
servers will remain sane.
>Have a good day and peace on Tomcat Dev community
:)
R?my
To unsubscribe, e-mail: dev-unsubscribe (AT) tomcat (DOT) apache.org
For additional commands, e-mail: dev-help (AT) tomcat (DOT) apache.org
To unsubscribe, e-mail: dev-unsubscribe (AT) tomcat (DOT) apache.org
For additional commands, e-mail: dev-help (AT) tomcat (DOT) apache.org