# 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 Confluence

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

## 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.

# 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.

## 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.

# Blogs and Articles

- April 8th, 2008: Use XStream to serialize Java objects into XML by Rajiv Bangalore
- 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

# Software

- About XStream
- News
- Change History
- About Versioning

# Evaluating XStream

- Two Minute Tutorial
- Object references
- Tweaking the Output
- License
- Download
- References
- Statistics

# Using XStream

- Architecture Overview
- Converters
- Frequently Asked Questions
- Users' Mailing List
- JavaDoc Core
- JavaDoc Benchmark
- Reporting Issues

# Tutorials

- Two Minute Tutorial
- Alias Tutorial
- Annotations Tutorial
- Converter Tutorial
- Object Streams Tutorial
- Persistence API Tutorial
- JSON Tutorial

# Developing XStream

- How to Contribute
- Developers' Mailing List
- Development Team
- Source Repository
- Continuous Integration