powered by Jive Software

Upcoming API changes in 3.5.0

Hi folk!

I wanted to alert you all to some upcoming API changes in Openfire 3.5.0.

The Admin Console LaF

The look and feel of the admin console has changed. This -may- result in you wanting to adjust colors you use or something of that nature. Probably won’t care, and it shouldn’t cause anything but cosmetic issues.


There is now a lock out manager. This providers a mechanism for disabling/locking out accounts. It’s implemented with a provider structure so that folk could write their own provider implementations. See LockOutProvider. XMPPServer and WebManager both provide references to the manager.


Just like with the LockOutManager, there is a new security audit manager. This provides a mechanism for logging security events performed via the admin console (and possibly other things in the future). Also handled via a provider, it is structured so that you can plug in your own provider and log security events some other way. (you might want to write some sort of notification mechanism, or log the events elsewhere, or whatever!) See SecurityAuditProvider. XMPPServer and WebManager both provide references to the manager.

XMPPServerInfo.getName() deprecated, use getXMPPDomain and getHostname

The getName method of XMPPServerInfo has been a tad confusing to newcomers. It referred to the domain of the server, but that was never entirely clear. That method was replaced with the more clear getXMPPDomain, and a new method, getHostname, was added to provide a way to get the server’s real hostname. Many thanks to Guus for this tweak.

SessionEventListener has a new method: resourceBound

The SessionEventListener’s new method, resourceBound(Session), provides an indication of when a session was successfully bound to a resource. Again, thanks to Guus for this tweak.


There is a new listener, the ExternalComponentListener, that provides events for when external components connect, disconnect, or change various aspects of their connection.

UserProvider now has two new method: isNameRequired() and isEmailRequired()

These are provided as a means to indicate whether the server you are working with in your provider requires a name and/or email address.

There are of course a number of other things that have been adjusted in the code, but I wanted to highlight some of the “bigger” API changes that are likely to affect/be of interest to other developers.

BTW, all of the “See …” references will be in the API documentation after 3.5.0 is released. =)