tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Barker" <>
Subject Re: AJP using APR
Date Mon, 13 Jun 2005 04:17:44 GMT

----- Original Message ----- 
From: "Costin Manolache" <>
To: <>
Sent: Sunday, June 12, 2005 5:31 PM
Subject: Re: AJP using APR

>Bill Barker wrote:
>> "Costin Manolache" <> wrote in message 
>> news:d8cmic$vvk$
>>>Bill Barker wrote:
>>>>If I understand you correctly, you want MsgAjp to use ByteBuffer instead 
>>>>of byte [].  At the cost of never supporting JDK 1.3 ever again, this 
>>>>would probably actually improve the performance of ChannelSocket (after 
>>>>changing it to use a blocking SocketChannel).
>>>The biggest difference will be if it's a 'direct' buffer, i.e. zero copy. 
>>>Classpath ( gcj, kaffe, etc ) also has byte buffer support - so it should 
>>>be ok, if anyone needs jdk1.3, they can use the old code.
>> Yes, the idea was that it would be a direct buffer.
>>>But where is the code ?
>> It's on my hard-drive.  Unlike Remy's APR stuff, o.a.jk is supposed to be 
>> a pretty stable package(s) at this point.  I can't just check in stuff 
>> like this without a lot of testing to make sure that it doesn't break 
>> anything more than JDK 1.3 compatibility ;-).
>That's why C has conditional compilation - and java has some 
>options-controlled ugly 'if' code :-) It doesn't break anything if the 
>option/def is not selected ( just makes the code a bit uglier ). This way 
>even JDK1.3 will be happy.

Yeah, well, I hate ugly ;-).  Using NIO will be switchable (and off by 
default for BC for now).  Mark says he doesn't want to use j-t-c HEAD for 
4.1.x, and if there is ever another 3.3 release, I'll just add a comment 
that using the Coyote-JK connector requires JDK 1.4 (similar to the one for 
the HTTP/1.1 connector).  The old AJP connector works well enough in 3.3.

I've been spending the weekend fighting with APR-1, that doesn't want to use 
the OpenSSL .a files.  At this point, I'm probably just going to admit 
defeat.  It's a test box, so I can simply install a test-version of the 
OpenSSL .so files and link against that.  It's sad that the libtool from 
httpd-2.0.50 works fine with the .a files :(, but APR-1 doesn't.

>The biggest problem in JNI ( and probably - in Java playing nice with other 
>languages and the rest of the platform ) is the objects and buffers moving 
>around almost randomly. Yes, it may improve a bit the garbage collection 
>speed - so people can create millions of garbage objects without thinking 
>about it, unlike most other languages that require you to think when 
>allocating objects - but it is the kind of optimization that has disastrous 
>consequences on the rest of the systems. Luckily gcj and kaffe and mono 
>don't do this crazy thing.
>Direct buffers is one band-aid that should be used whenever possible.

Fortunately, this is Remy's problem ;-).


This message is intended only for the use of the person(s) listed above as the intended recipient(s),
and may contain information that is PRIVILEGED and CONFIDENTIAL.  If you are not an intended
recipient, you may not read, copy, or distribute this message or any attachment. If you received
this communication in error, please notify us immediately by e-mail and then delete all copies
of this message and any attachments.

In addition you should be aware that ordinary (unencrypted) e-mail sent through the Internet
is not secure. Do not send confidential or sensitive information, such as social security
numbers, account numbers, personal identification numbers and passwords, to us via ordinary
(unencrypted) e-mail.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message