Asynchronous File I/O in Java
Asynchronous File I/O in Java is a framework I created because I got tired of waiting for JSR 203 and IBM's AIO4J doesn't have support for asynchronous file access with Linux. The framework is still in very early development. It currently only supports Linux. The API is in flux. And the framework hasn't received a great deal of testing. I expect all this to change for the better in the near future. I've make the project available so that others can help with testing and hopefully there are others out there who would like to contribute to the project. I will try to post examples and additional documentation here as the framework progresses.
The source code for the project can be found in my subversion sandbox as part of the Apache Mina project https://svn.apache.org/repos/asf/mina/sandbox/mheath/aioj.
To build the project use Maven 2 and run "mvn package". This will produce two artifacts. A Java .jar file containing the Java classes and libaioj.so which contains the the native binaries that make the POSIX AIO calls to do asynchronous file IO in Java.
Below is a simple example of how to use Asynchronous File I/O in Java.
Asynchronous File I/O in Java currently only works with the Linux operating system. I use Ubuntu 6.10 and haven't tested the code on other distros yet. If others would like to port the code to other operating systems and/or make sure the code works on other distributions of Linux, that would be a huge help!