References

XStream is used in a lot of commercial and open source projects and is used in production since years.

# XStream used for Core Technology

## Atlassian Bamboo

Bamboo is build server for continuous integration and release management. Note, XStream itself used Bamboo at former Codehaus for continuous integration.

## Atlassian Confluence

Confluence is an enterprise wiki that makes it easy for your team to collaborate and share knowledge.

## Jenkins CI

Jenkins CI is also a build server for continuous integration and release management.

## Apache Muse

The Apache Muse Project is a Java-based implementation of the WS-ResourceFramework (WSRF), WS-BaseNotification (WSN), and WS-DistributedManagement (WSDM) specifications. It is a framework upon which users can build web service interfaces for manageable resources without having to implement all of the "plumbing" described by the aforementioned standards. Applications built with Muse can be deployed in both Apache Axis2 and OSGi environments, and the project includes a set of command line tools that can generate the proper artifacts for your deployment scenario.

## NanoContainer

The scope of the NanoContainer project is to complement the PicoContainer project, providing it with additional functionality. The project comprises of several components which can either be adoptions in various guises of PicoContainer (e.g. composition by-class-name rather than by-class), or adaptations to external components bringing them closer to the Dependency Injection ideal - particularly Constructor Injection.

## Murq

Murq is a persistence framework with an emphasis on simplicity. It is also capable of storing binary data and meta data, supports search functionality and makes internationalization seamless.

## XBird

XBird is a light-weight XQuery processor and database system written in Java. The light-weight means reasonably fast and embeddable. It uses the XStream persistence API for object persistence

## EJOE

EJOE is a lightweight Java remoting framework built to send and receive objects through pluggable (de)serialization mechanisms. XStream provides the default (de)serialization mechanism.

## OpenCraft

OpenCraft is an alternative/custom Minecraft server, written in Java, compatible with the original protocol. XStream provides the persistence layer.

# XStream Support

## jBoss ESB

jBossESB is the next generation of EAI - better and without the vendor-lockin characteristics of old. It uses a flexible architecture based on SOA principles such as loose-coupling and asynchronous message passing, emphasizing an incremental approach to adopting and deploying an SOI. XStream can be used as one possibility for the messaging part.

## Restlet

Restlet is a lightweight REST framework for Java that lets you embrace the architecture of the Web and benefit from its simplicity and scalability. By leveraging our innovative REST engine, you can start blending your Web Sites and Web Services into uniform Web Applications!

The framework uses XStream as extension for a representation of objects in XML or JSON and a ConverterService based on this functionality.

## ActiveSOAP

ActiveSOAP is a lightweight & easily embeddable REST and SOAP stack based on StAX with support for WS-Addressing and WSIF. ActiveSOAP uses StAX (the Standard API for pull parsing) to implement the SOAP protocols and then it delegates to plugin Handler objects for the heavy duty processing of the XML payloads. This means that you only need to pay for what you need; use fast pull based event parsing or full data binding mechanisms like JAXB or XStream or DOMish APIs like XMLBeans when they make sense.

## Mule

Mule is the leading open source ESB (Enterprise Service Bus) and integration platform. It is a scalable, highly distributable object broker that can seamlessly handle interactions with services and applications using disparate transport and messaging technologies. Transformers are used to convert inbound data to an object type required by the UMO Component or outbound to an object type required by the transport such as a JmsMessage. Mule uses Transformers to convert event data between the different endpoints. They can be configured on endpoints that receive data to ensure that the expected object type is always received by a Mule Component. XStream is used for standard XML to Java object transformation.

## Blojsom

Blojsom is Java-based, full-featured, multi-blog, multi-user software package that was inspired by blosxom. blojsom aims to retain a simplicity in design while adding flexibility in areas such as the flavors, templating, plugins, and the ability to run multiple blogs with a single blojsom installation. XStream is used for export.

## FlatTree

FlatTree is a Java library for reading and writing of flat files: CSV, FLR (fixed length record) or mixed structures. It features a tree-style processing API, adapters for SAX, Stax and XStream for transformation, data binding or serialization.

# Blogs and Articles

- November 11th, 2011: Using XStream with Google App Engine by Chris Khoo
- January 22th, 2010: Java, XML and XStream by Antonio Gonzalez
- September 1st, 2009: Generate PDFs with XStream and XSL-FO by Brian J. Stewart
- January 13th, 2009: [German article] Mit XStream lassen sich Objekte einfach und schnell serialisieren by David Petersheim
- April 8th, 2008: Use XStream to serialize Java objects into XML by Rajiv Bangalore (updated on July 23th, 2008)
- February 12th, 2008: RESTful SOA using XML by Adriaan de Jonge
- February 7th, 2007: To the XStream by Cliff
- May 21th, 2006: Inversionism by Paul Hammant: Using XStream to forward JSON to a browser
- May 21th, 2006: Inversionism by Paul Hammant: Using XStream to process standardized XML documents
- May 12th, 2006: Paul Hammant and Ian Cartwright: Simple JAVA and .NET SOA interoperability
- January 30th, 2006: Vinny Carpenter's Blog: Life is beautiful with XMLBeans and XStream
- September 15th, 2005: Scott Schram's Blog: The XStream library offers clean, easy XML serialization of POJOs.
- August 5th, 2005: Emil Kirschner: xstream & jdk 1.5 annotations
- April 27th, 2005: Arne Vandamme's weblog: .NET: transparent XML serialization, XStream for .NET
- December 18th, 2004: Random Thoughts by Rickard Öberg: XStream + Xindice = !
- August 19th, 2004: TheServerSide.com by Dion Almaer: Serializing Java Objects with XStream
- August 18th, 2004: XML.com by Michael Fitzgerald: Serializing Java Objects with XStream
- Mai 14th, 2004: TheServerSide.com by Joe Walnes: XStream: Java to XML serialization, and back again