GlusterFS for Java
This project aims to be a complete implementation of a Java7/NIO.2 File System Provider backed by GlusterFS via libgfapi-jni
Please let me know if you use this project, even if you're just checking it out, I'd like to hear from you.
I prefer to be contacted on IRC, Twitter, or a Github issue. You can find me, semiosis, in #gluster on Freenode IRC. My twitter handle is @pragmaticism.
Thanks!
<dependencies>
<dependency>
<groupId>com.peircean.glusterfs</groupId>
<artifactId>glusterfs-java-filesystem</artifactId>
<version>1.0.4</version>
</dependency>
</dependencies>
The maven shade plugin can build a unified (shaded) JAR suitable for dropping in to the classpath of any JVM application.
You can build a "shaded" JAR by cloning the project and running the following command in the glusterfs-java-filesystem subdirectory:
cd glusterfs-java-filesystem
mvn package shade:shade
Maven will report the path of this shaded JAR. You can run export CLASSPATH=<path-to-shaded.jar>
in a terminal before running your other application.
Contact me (on IRC, Twitter, or in a Github issue) if you need help obtaining a JAR, if you can't, or don't want to, build it with maven yourself.
Once this library is in your classpath all you need to do in your code is access a GlusterFS URI, for example
gluster://server:volume/path
A Vagrantfile in the root of this repository sets up a VM with a volume called foo at IP address 172.31.31.31 on a private network.
The Example.java file in the glusterfs-java-filesystem-example project provides a demonstration of the capabilities of this project from a high level consumer's point of view, it connects to the volume on the vagrant VM.
To run:
cd glusterfs-java-filesystem-example
vagrant up
mvn exec:exec
I'd appreciate your help with this project. If you have any feedback at all please get in touch. I'm interested in everything from gripes to pull requests.
Until further notice (made here and in LICENSE.txt) this project is licensed under the terms of the 3-clause BSD license, as written in LICENSE.txt.
The licensing is likely to change in the near future as the project matures.