Babbler is a young XMPP client library for Java 8 SE built on top of JAXB, which allows you to write XMPP clients as well as external server components using the XEP-0114: Jabber Component Protocol.
JAXB as underlying technology makes it robust and allows you to write extensions in a simple and clean manner.
It aims to provide good (JavaDoc) documentation, clean code, an easy to use API and a high level of software quality (which is currently ensured by more than 800 unit tests).
Note: Since this project is quite young, it is still a work in progress and the API might change. Comments on the API are highly appreciated (write a message on my BitBucket account or comment on my Blog).
On this site you learn about some general design considerations, a brief user guide and API documentation.
- XMPP core specifications (RFC 6120, RFC 6121, RFC 7622)
- Various authentication methods: SCRAM-SHA-1, DIGEST-MD5, CRAM-MD5, PLAIN, ANONYMOUS
- Security: TLS with Hostname Verification
- Modern API, leveraging many of new Java 8 features like:
- 800+ unit tests
- Support for 70+ extensions, including important ones like:
- Multi-User Chat
- File Transfer
- PubSub / PEP
- Entity Capabilities
- Jabber Component Protocol
- Compact library, no dependencies, one core package: rocks.xmpp
- JAXB (XML binding) in the background, in order to make it robust, easy to use and easy to extend (e.g. writing custom protocol extensions)
- Good documentation
- Very liberal MIT license