java nio channel selectors can use kqueue/kevent
David Xu
davidxu at freebsd.org
Mon Aug 2 09:27:48 UTC 2010
I was suprised the java uses poll() on freebsd for its nio, while
others are using devpoll() or epoll(). I have spent one week to
work out a patch, and let it work with kqueue. I have tried to make
it better, but because the java nio selector are poll() centric
so something in the patch is not very perfect.
Here is the patch:
http://people.freebsd.org/~davidxu/patch/jdk16_nio_kqueue.patch
just cd into /usr/ports/jdk16, and type following commands:
make extract
make patch
cd work
patch < this_patch_file
cd ..
make install
note that the patch does not make kqueue method as default provider,
you should specify it on comand line like following:
java
-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.KqueueSelectorProvider
<application class>
Regards,
David Xu
More information about the freebsd-java
mailing list