RetepXMPP is an extensible java framework for XMPP (previously known as Jabber) utilising current technologies like JAXB, STaX, NioSax, Grizzly.
The project keeps up with changes to the standards maintained by the XMPP Standards Foundation (XSF). The XSF is the body which maintains and develops XMPP, of which I am an active member so sometimes this project helps in updating the standards.
There’s six primary components:
- A core providing functionality like internal routing, addressing
- A maven artifact containing a copy of the XMPP schemas with minor alterations to enable them to be used by JAXB or any other Java schema technology.
- A set of maven artifacts providing JAXB generated objects for each XEP
- A set of implemented services like Multi User Chat (conferencing), PubSub etc, for use both client or server side.
- A set of networking components supporting C2C, C2S, S2S, components etc. The framework allows for any transport to be implemented so this list is not exhaustive.
- Support for clustering using Terracotta
As with all retep.org projects this requires a current Java 6 (JDK1.6) or later (yes I do test against Java7 occasionally).
Project Home
The project is hosted over at Project Kenai which includes the issue trackers, wiki and primary Mercurial source repository.
Mercurial Source Repository
The primary Mercurial repository is hosted at Project Kenai.
A backup Mercurial repository is also hosted over at BitBucket which is publicly accessible. That repository should be in sync most of the time with the primary repository – if it is not then it will be out by a few days at most.
To check out the source you can use one of the following lines to make a clone locally – the first line is for the primary repository, the second for the backup:
You can also follow commits to the bitbucket repository on twitter.
hg clone https://hg.kenai.com/hg/retepxmpp~development retepxmpp hg clone http://bitbucket.org/petermount/retepxmpp/
Downloading / Maven
This project requires the use of Apache Maven. The built artifacts are published on the SonaType’s Public Nexus instance and can be accessed by adding the following to your project’s root pom:
<repositories>
<repository>
<id>retep.releases</id>
<name>retep.org Maven 2 Repository</name>
<url>http://oss.sonatype.org/content/groups/public</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>retep.releases</id>
<name>retep.org Maven 2 Repository</name>
<url>http://oss.sonatype.org/content/groups/public</url>
</pluginRepository>
</pluginRepositories>
Please note: Due to dependencies in the java.net and terracotta.com repositories these artifacts are not available within the Maven Central repository as those artifacts are not also within central. If or when the required artifacts become available then this project may become available within Central.