Yaja!

Yaja! is a Java XMPP communications library for Jabber.
Download

Yaja! Ranking & Summary

Advertisement

  • Rating:
  • License:
  • LGPL
  • Price:
  • FREE
  • Publisher Name:
  • Mike Prince
  • Publisher web site:

Yaja! Tags


Yaja! Description

Yaja! is a Java XMPP communications library for Jabber. Yaja! is a Java XMPP communications library for Jabber. Useful for writing components and clients.Yaja! is designed to manage a bi-directional stream of XMPP packets between an endpoint and a Jabber server. An endpoint may either be a Jabber GUI client for an end-user, a Jabber server component, or an XMPP compliant server. Yaja! initiates a TCP stream to the Jabber server and starts the Jabber session. As Jabber streams XMPP packets to Yaja!, a SAX parser generates a series of SAX events. Yaja! does not define how these are interpreted, and instead allows one or more transformers act on the SAX event stream. Transformers take the SAX events and build object graphs to represent the packets. Yaja! includes a sample DOM builder for converting XMPP packets to DOM documents. The DOM transformer supports a listener model to allow interested parties to register for incoming packet notifications. Since XMPP typically involves request/response interactions, a special DomPacketSender class is provided which sends a packet and then listens for a response. Sending packets can be as simple as writing raw XML to the XMPP session. The only requirement is that the entire packet is written at one time to avoid interleaving fragmented packets from multiple writers. Yaja! is also thread safe to allow multiple readers and writers to operate on a common XMPP session. For session lifecycle events such as connection starting, session authenticated, and connection closed, an XmppSessionListener is provided. Interested parties can register with the XMPP session to receive events.What's New in This Release:· Broke libraries into xmpp-core.jar and xmpp-dom4j.jar. Core is the required classes, and dom4j is for the DOM4j implementation. · Changed send() to query() to stay inline with their functionality. Also added a REAL send() that does not expect a reply to the DOM component classes. · Added the BeanShell to aid in interactive debugging · Reworked classes into more logical package structure. The com.realtime.xmpp.types now contains beans and interfaces defining information in the XMPP stream such as JIDs, error codes, and the "look and feel" of typical stanzas. · Continued evolution on the DomPacket* helper classes · Added an XmlStreamFactory to allow people to plug in SSL etc. byte streams · Fixed some problems with thread synchronization during startup · Fixed "double opening" problem when two threads tried to open the same XMPP session object around the same time · Added a fastStart() method on components, that allows asynchronous starts · Continued work on the PacketRouter class to make it easy for components to handle packets. · Added a JID class · Revamped XmppError interface into a class · Fixed deadlock problem with session listeners · Changed XmppPacket to XmppStanza to stay inline with the IETF terminology.


Yaja! Related Software