The Envers project makes it simple to version (JPA) entities. The only thing required is annotating them with @Versioned. Storing historical data (versions) is completely transparent to the developer, and the entities may be handled as always. Not only basic properties of an entity can be versioned, but also relations, making it possible to view parts of the database as they were at a given revision. Moreover, Envers provides a straightforward interface for retrieving historical data, a criteria-like query interface, and the possibility to store additional information alongside each revision.
The Netty project is an effort to provide an asynchronous, event-driven network application framework and tools for rapid development of maintainable, high-performance, high-scalability protocol servers and clients. In other words, Netty is a NIO client server framework that enables quick and easy development of network applications such as protocol servers and clients. It simplifies and streamlines network programming such as TCP and UDP socket servers.
Archive4J is an archive engine for large document collections written in Java, i.e. a set of algorithmic tools and implementations that make it possible to build a direct index of a document collection. In particular, for each document some basic data can be recovered, such as the length of the document in words, the list of distinct terms appearing in the document, and the number of occurrences of each term in the document (the count). Goals include a very high compression rate and very fast random access. To obtain this result, Archive4J combines techniques typical of search engines with succinct data structures.
JCatapult is a development platform written in Java. Built for modularization, JCatapult allows developers to build modules such as a blog, content-management system, wiki, or any other reusable set of features and use them across multiple applications. Built on top of open source technologies, JCatapult is a robust and scalable platform. However, it is also agile and lightweight because it uses a convention over configuration approach.
jOpenDocument is a pure Java library for manipulation of OASIS Open Document files. jOpenDocument is a library for developers looking to use Open Document files without OpenOffice.org. You can use jOpenDocument to generate dynamic documents from Java, XML, or databases; to display and print files with built-in viewers; to split, concatenate, and manipulate pages; to automate filling out of templates; and to use your preferred langage via the standard ScriptEngine interface.