From 5676cb8168614c8a59649da33a2f48b69b79e246 Mon Sep 17 00:00:00 2001 From: Gunnar Hillert Date: Mon, 15 Aug 2011 16:47:04 -0400 Subject: [PATCH 1/7] renamed readme.txt -> README.md to use Markdown styling --- readme.txt => README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename readme.txt => README.md (100%) diff --git a/readme.txt b/README.md similarity index 100% rename from readme.txt rename to README.md From 7cbc138b2a1b7ed098078fa0cfc2df24b357f01a Mon Sep 17 00:00:00 2001 From: Gunnar Hillert Date: Mon, 15 Aug 2011 17:10:21 -0400 Subject: [PATCH 2/7] Converted the readme to being Markdown styled --- README.md | 63 ++++++++++++++++++++++--------------------------------- 1 file changed, 25 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index 53b261f6..19c46dc2 100644 --- a/README.md +++ b/README.md @@ -1,45 +1,32 @@ - =============================================================== - $$$ Welcome to the Spring Integration Samples $$$ - =============================================================== - -To simplify your experience, Spring Integration Samples were split into 4 distinct categories. -Inside of each category you'll find a 'readme.txt' which will contain a more detailed description -of that category's specifics. Each sample also comes with its own 'readme.txt' file explaining details. +Spring Integration Samples +========================== + +# Introduction + +Welcome to the Spring Integration Samples. To simplify your experience, Spring Integration Samples were split into 4 distinct categories. Inside of each category you'll find a 'readme.txt' which will contain a more detailed description of that category's specifics. Each sample also comes with its own 'readme.txt' file explaining details. + +*Happy Integration!* + +# Categories Below is a short description of each category. -BASIC - This is a good place to get started. The samples here are technically motivated and demonstrate the bare - minimum with regard to configuration and code to help you to get introduced to the basic concepts, API and - configuration of Spring Integration. For example if you are looking for an answer on how to wire service-activator - to a channel or how to apply Gateway to your message exchange or how to get started with using MAIL or XML the module, - this would be the right place to find a relevant sample. The bottom line is that this is a good starting point. +## Basic -INTERMEDIATE - This category targets developers who are already familiar with the Spring Integration framework (past getting started), - but need some more guidance while resolving more advanced technical problems that you have to deal with when switching - to a Messaging architecture. For example, if you are looking for an answer on how to handle errors in various - scenarios, or how to properly configure an Aggregator for the situations where some messages might not ever arrive - for aggregation, or any other issue that goes beyond a basic understanding and configuration of a particular component - to address "what else you can do?" types of problems, this would be the right place to find relevant samples. +This is a good place to get started. The samples here are technically motivated and demonstrate the bare minimum with regard to configuration and code to help you to get introduced to the basic concepts, API and configuration of Spring Integration. For example if you are looking for an answer on how to wire service-activator to a channel or how to apply Gateway to your message exchange or how to get started with using MAIL or XML the module, this would be the right place to find a relevant sample. The bottom line is that this is a good starting point. -ADVANCED - This category targets advanced developers who are quite familiar with the Spring Integration framework but looking to - address a specific custom need by extending from the Spring Integration public API. For example, if you are looking for - samples showing you how to implement a custom Channel or Consumer (event-based or polling-based), or you are trying to - figure out what is the most appropriate way to implement a custom BeanParser on top of the Spring Integration BeanParser - hierarchy when implementing a custom namespace, this would be the right place to look. Here you can also find samples - that will help you with adapter development. Spring Integration comes with an extensive library of adapters that allow - you to connect remote systems with the Spring Integration messaging framework. However you might have a need to integrate - with a system for which the core framework does not provide an adapter, so you have to implement your own. This category - would include samples showing you how to implement various adapters. +## Intermediate + +This category targets developers who are already familiar with the Spring Integration framework (past getting started), but need some more guidance while resolving more advanced technical problems that you have to deal with when switching to a Messaging architecture. For example, if you are looking for an answer on how to handle errors in various scenarios, or how to properly configure an Aggregator for the situations where some messages might not ever arrive for aggregation, or any other issue that goes beyond a basic understanding and configuration of a particular component to address "what else you can do?" types of problems, this would be the right place to find relevant samples. + +## Advanced + +This category targets advanced developers who are quite familiar with the Spring Integration framework but looking to address a specific custom need by extending from the Spring Integration public API. For example, if you are looking for samples showing you how to implement a custom Channel or Consumer (event-based or polling-based), or you are trying to figure out what is the most appropriate way to implement a custom BeanParser on top of the Spring Integration BeanParser hierarchy when implementing a custom namespace, this would be the right place to look. Here you can also find samples that will help you with adapter development. Spring Integration comes with an extensive library of adapters that allow you to connect remote systems with the Spring Integration messaging framework. However you might have a need to integrate with a system for which the core framework does not provide an adapter, so you have to implement your own. This category would include samples showing you how to implement various adapters. + +## Applications + +This category targets developers and architects who have a good understanding of Message-driven architecture and Enterprise Integration Patterns, and an above average understanding of Spring and Spring integration and who are looking for samples that address a particular business problem. In other words, the emphasis of samples in this category is 'business use cases' and how they can be solved via a Messaging architecture and Spring Integration in particular. For example, if you are interested to see how a Loan Broker process or Travel Agent process could be implemented and automated via Spring Integration, this would be the right place to find these types of samples. + +#Resources -APPLICATIONS - This category targets developers and architects who have a good understanding of Message-driven architecture and - Enterprise Integration Patterns, and an above average understanding of Spring and Spring integration and who are looking - for samples that address a particular business problem. In other words, the emphasis of samples in this category is - 'business use cases' and how they can be solved via a Messaging architecture and Spring Integration in particular. - For example, if you are interested to see how a Loan Broker process or Travel Agent process could be implemented and - automated via Spring Integration, this would be the right place to find these types of samples. - $$ Happy Integration! $$ From b9b10634db8cc524feff36dd495b23df88ec4901 Mon Sep 17 00:00:00 2001 From: Gunnar Hillert Date: Mon, 15 Aug 2011 17:31:01 -0400 Subject: [PATCH 3/7] Added link to the Spring Integration Home page to README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 19c46dc2..ef69b7a9 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Spring Integration Samples # Introduction -Welcome to the Spring Integration Samples. To simplify your experience, Spring Integration Samples were split into 4 distinct categories. Inside of each category you'll find a 'readme.txt' which will contain a more detailed description of that category's specifics. Each sample also comes with its own 'readme.txt' file explaining details. +Welcome to the Spring Integration Samples. To simplify your experience, Spring Integration Samples were split into 4 distinct categories. Inside of each category you'll find a 'README.md' which will contain a more detailed description of that category's specifics. Each sample also comes with its own 'readme.txt' file explaining details. *Happy Integration!* @@ -29,4 +29,4 @@ This category targets developers and architects who have a good understanding of #Resources - +For more information, please visit the Spring Integration website at: [http://www.springsource.org/spring-integration](http://www.springsource.org/spring-integration) From 07d5dd6eaa086ce1b70935374951cab1234adefc Mon Sep 17 00:00:00 2001 From: Gunnar Hillert Date: Mon, 15 Aug 2011 17:36:14 -0400 Subject: [PATCH 4/7] Renamed readme.txt to README.md in category folders in order to allow for better styling using Markdown --- advanced/{readme.txt => README.md} | 0 applications/{readme.txt => README.md} | 0 basic/{readme.txt => README.md} | 0 intermediate/{readme.txt => README.md} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename advanced/{readme.txt => README.md} (100%) rename applications/{readme.txt => README.md} (100%) rename basic/{readme.txt => README.md} (100%) rename intermediate/{readme.txt => README.md} (100%) diff --git a/advanced/readme.txt b/advanced/README.md similarity index 100% rename from advanced/readme.txt rename to advanced/README.md diff --git a/applications/readme.txt b/applications/README.md similarity index 100% rename from applications/readme.txt rename to applications/README.md diff --git a/basic/readme.txt b/basic/README.md similarity index 100% rename from basic/readme.txt rename to basic/README.md diff --git a/intermediate/readme.txt b/intermediate/README.md similarity index 100% rename from intermediate/readme.txt rename to intermediate/README.md From 55c18bf873507c54475dfa02e9a41fb01f9eb470 Mon Sep 17 00:00:00 2001 From: Gunnar Hillert Date: Mon, 15 Aug 2011 23:45:37 -0400 Subject: [PATCH 5/7] Expanded the main README.md to contain a basic overview of all examples --- README.md | 32 ++++++++++++++++++++++++++++++++ advanced/README.md | 17 ++++++----------- applications/README.md | 10 +++------- basic/README.md | 12 ++++-------- intermediate/README.md | 13 ++++--------- 5 files changed, 49 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index ef69b7a9..c3ff5944 100644 --- a/README.md +++ b/README.md @@ -15,18 +15,50 @@ Below is a short description of each category. This is a good place to get started. The samples here are technically motivated and demonstrate the bare minimum with regard to configuration and code to help you to get introduced to the basic concepts, API and configuration of Spring Integration. For example if you are looking for an answer on how to wire service-activator to a channel or how to apply Gateway to your message exchange or how to get started with using MAIL or XML the module, this would be the right place to find a relevant sample. The bottom line is that this is a good starting point. +* **control-bus** - demonstrates the functionality of the **Control Bus** +* **feed** - demonstrates the functionality of the **Feed Adapter** (RSS/ATOM) +* **file** - demonstrates aspects of the various File Adapters (e.g. **File Inbound/Outbound Channel Adapters**, file **polling**) +* **ftp** - demonstrates the **FTP support** available with Spring Integration +* **helloworld** - very simple starting example illustrating a basic message flow (using **Channel**, **ServiceActivator**, **QueueChannel**) +* **http** - demonstrates request/reply communication when using a pair of **HTTP Inbound/Outbound gateways** +* **jms** - demonstrates **JMS** support available with Spring Integration +* **jmx** - demonstrates **JMX** support using a **JMX Attribute Polling Channel** and **JMX Operation Invoking Channel Adapter** +* **mail** - example showing **IMAP** and **POP3** support +* **oddeven** - Example combining the functionality of **Inbound Channel Adapter**, **Filter**, **Router** and **Poller** +* **quote** - Example demoing core EIP support using **Channel Adapter (Inbound and Stdout)**, **Poller** with Interval Trigers, **Service Activator** +* **sftp** - demonstrating SFTP support using **SFTP Inbound / Outbound Channel Adapters** +* **tcp-client-server** - demonstrates socket communication using **TcpOutboundGateway**, **TcpInboundGateway** and also uses a **Gateway** and a **Service Activator** +* **testing-examples** - A series of test cases that show techniques to **test** Spring Integration applications. +* **twitter** - Illustrates Twitter support using the **Twitter Inbound Channel Adapter**, **Twitter Inbound Search Channel Adapter**, **Twitter Outbound Channel Adapter** +* **ws-inbound-gateway** - Example showing basic functionality of the **Web Service Gateway** +* **ws-outbound-gateway** - Shows outbound web services support using the **Web Service Outbound Gateway**, **Content Enricher**, Composed Message Processor (**Chain**) +* **xml** - Example demonstrates various aspects of the **Xml** support using an **XPath Splitter**, **XPath Router**, **XSLT Transformer** as well as **XPath Expression** support +* **xmpp** - Show the support for [**XMPP**](http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol) (formerly known as Jabber) using e.g. GoogleTalk + ## Intermediate This category targets developers who are already familiar with the Spring Integration framework (past getting started), but need some more guidance while resolving more advanced technical problems that you have to deal with when switching to a Messaging architecture. For example, if you are looking for an answer on how to handle errors in various scenarios, or how to properly configure an Aggregator for the situations where some messages might not ever arrive for aggregation, or any other issue that goes beyond a basic understanding and configuration of a particular component to address "what else you can do?" types of problems, this would be the right place to find relevant samples. +* **async-gateway** - Example shows usage of an **Asynchronous Gateway** +* **errorhandling** - Demonstrates basic **Error Handling** capabilities of Spring Integration +* **file-processing** - Sample demonstrates how to wire a message flow to process files either sequentially (maintain the order) or concurrently (no order). +* **multipart-http** - Demonstrates the sending of HTTP multipart requests using Spring's **RestTemplate** and a Spring Integration **Http Outbound Gateway** +* **travel** - More sophisticated example showing the retrieval of weather (SOAP Web Service) and traffic (HTTP Service) reports using real services + ## Advanced This category targets advanced developers who are quite familiar with the Spring Integration framework but looking to address a specific custom need by extending from the Spring Integration public API. For example, if you are looking for samples showing you how to implement a custom Channel or Consumer (event-based or polling-based), or you are trying to figure out what is the most appropriate way to implement a custom BeanParser on top of the Spring Integration BeanParser hierarchy when implementing a custom namespace, this would be the right place to look. Here you can also find samples that will help you with adapter development. Spring Integration comes with an extensive library of adapters that allow you to connect remote systems with the Spring Integration messaging framework. However you might have a need to integrate with a system for which the core framework does not provide an adapter, so you have to implement your own. This category would include samples showing you how to implement various adapters. +* **advanced-testing-examples** - Example test cases that show advanced techniques to test Spring Integration applications + ## Applications This category targets developers and architects who have a good understanding of Message-driven architecture and Enterprise Integration Patterns, and an above average understanding of Spring and Spring integration and who are looking for samples that address a particular business problem. In other words, the emphasis of samples in this category is 'business use cases' and how they can be solved via a Messaging architecture and Spring Integration in particular. For example, if you are interested to see how a Loan Broker process or Travel Agent process could be implemented and automated via Spring Integration, this would be the right place to find these types of samples. +* **cafe** - Emulates a simple operation of a coffee shop combining various Spring Integration adapters (Including **Router** and **Splitter**) see [Appendix A of the reference documentation](http://static.springsource.org/spring-integration/docs/latest-ga/reference/html/samples.html) for more details +* **loan-broker** - Simulates a simple banking application (Uses **Gateway**, **Chain**, **Header Enricher**, **Recipient List Router**, **Aggregator**) see [Appendix A of the reference documentation](http://static.springsource.org/spring-integration/docs/latest-ga/reference/html/samples.html) for more details +* **loanshark** This extension to the loan broker sample shows how to exchange messages between Spring Integration applications (and other technologies) using **UDP**. + #Resources For more information, please visit the Spring Integration website at: [http://www.springsource.org/spring-integration](http://www.springsource.org/spring-integration) diff --git a/advanced/README.md b/advanced/README.md index c853efbd..c48f3367 100644 --- a/advanced/README.md +++ b/advanced/README.md @@ -1,13 +1,8 @@ +Advanced Samples +================ - $$ ADVANCED Samples $$ +This category targets advanced developers who are well familiar with the [Spring Integration](http://www.springsource.org/spring-integration) framework but are looking to extend it to address a specific custom need by extending from Spring Integration's public API. -This category targets advanced developers who are well familiar with Spring Integration framework but looking to -extend it to address a specific custom need by extending from Spring Integration public API. -For example; if you are looking for samples showing you how to implement a custom Channel or -Consumer (event-based or polling-based), or you trying to figure out what is the most appropriate way to implement -custom BeanParser on top of Spring Integration�BeanParser�hierarchy when implementing custom name space, -this would be the right place to look. -Here you can also find samples that will help you with adapter development. Spring Integration comes with an extensive -library of adapters that allow you to connect remote systems with Spring Integration messaging framework. -However you might have a need to integrate with system for which the core framework does not provide an adapter. -So you have to implement your own. This category would include samples showing you how to implement various adapters. +For example; if you are looking for samples showing you how to implement a custom **Channel** or **Consumer** (event-based or polling-based), or if you trying to figure out what is the most appropriate way to implement a custom **BeanParser** on top of the Spring Integration BeanParser hierarchy when implementing custom namespaces, this would be the right place to look. + +Here you can also find samples that will help you with adapter development. Spring Integration comes with an extensive library of adapters that allow you to connect remote systems with Spring Integration messaging framework. However you might have a need to integrate with systems for which the core framework does not provide an adapter and consequently you may have to implement your own adapter. This category would include samples showing you how to implement various adapters. diff --git a/applications/README.md b/applications/README.md index b38e22fd..859ccbfd 100644 --- a/applications/README.md +++ b/applications/README.md @@ -1,9 +1,5 @@ +Applications Samples +==================== - $$ APPLICATIONS Samples $$ +This category targets developers and architects who have a good understanding of the Messaging architecture, EIP and above average understanding of Spring and Spring integration and are looking for samples that address a particular business problem. In other word the emphasis of samples in this category is 'business use cases' and how it could be solved via Messaging architecture and Spring Integration in particular. For example; If you are interested to see how a Loan Broker process or Travel Agent process could be implemented and automated via Spring Integration this would be the right place to find these types of samples. -This category targets developers and architects who have a good understanding of the Messaging architecture, -EIP and above average understanding of Spring and Spring integration and are looking for samples that -address a particular business problem. In other word the emphasis of samples in this category is 'business use cases' -and how it could be solved via Messaging architecture and Spring Integration in particular. -For example; If you are interested to see how a Loan Broker process or Travel Agent process could be implemented and -automated via Spring Integration this would be the right place to find these types of samples. diff --git a/basic/README.md b/basic/README.md index 11fcadff..70455749 100644 --- a/basic/README.md +++ b/basic/README.md @@ -1,10 +1,6 @@ +Basic Samples +============= - $$ BASIC Samples $$ +This is a good place to get started. The samples here are technically motivated and demonstrate the bare minimum with regard to configuration and code to help you to get introduced to the basic concepts, API and configuration of [Spring Integration](http://www.springsource.org/spring-integration) and how they relate to [Enterprise Integration Patterns](http://www.eaipatterns.com/) (EIP). -This is a good place to get started. The samples here are technically motivated and demonstrate -the bare minimum with regard to configuration and code to help you to get introduced to the basic -concepts, API and configuration of Spring Integration and how they relate to Enterprise Integration Patterns (EIP). - -For example; if your are looking for an answer on how to wire service-activator to a channel or how to -apply Gateway to your message exchange or how to get started with using MAIL or XML module etc., -this would be the right place to find a good sample. This category of samples is this is a good place to start. \ No newline at end of file +For example; if your are looking for an answer on how to wire a **Service Activator** to a **Channel** or how to apply a **Gateway** to your message exchange or how to get started with using the **Mail** or **XML** module etc., this would be the right place to find a good sample. \ No newline at end of file diff --git a/intermediate/README.md b/intermediate/README.md index ae886d27..4aebbe7b 100644 --- a/intermediate/README.md +++ b/intermediate/README.md @@ -1,11 +1,6 @@ +Intermediate Samples +==================== - $$ INTERMEDIATE Samples $$ +This category targets developers who are already familiar with the [Spring Integration](http://www.springsource.org/spring-integration) framework (past getting started), but need some more guidance while resolving more advanced technical problems that they have to deal with once having switched to a Messaging architecture. -This category targets developers who are already familiar with Spring Integration framework (past getting started), -but need some more guidance while resolving Êmore advanced technical problems that you have to deal with -once switch to a Messaging architecture. -For example; If you are looking for an answer on how to handle errors in various -scenarios or how to properly configure Aggregator for the situations where some messages might not ever arrive -for aggregation etc,. and any other issue that goes beyond a basic understanding and configuration of a -particular component and addresses "what else you can do with it" type of problem this would be the right place -to find these type of samples. +For example; If you are looking for an answer on how to handle errors in various scenarios or how to properly configure the **Aggregator** for the situations where some messages might not ever arrive for aggregation etc., and any other issue that goes beyond a basic understanding and configuration of a particular component and addresses "what else you can do with it" type of problem, this would be the right place to find these type of samples. From 6e07daaed134985095f507f8ade5df33b013abbc Mon Sep 17 00:00:00 2001 From: Gunnar Hillert Date: Mon, 15 Aug 2011 23:53:19 -0400 Subject: [PATCH 6/7] Added a quick list enumerating the 4 categories for examples in README.md --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c3ff5944..3f2c3aaf 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,14 @@ Spring Integration Samples # Introduction -Welcome to the Spring Integration Samples. To simplify your experience, Spring Integration Samples were split into 4 distinct categories. Inside of each category you'll find a 'README.md' which will contain a more detailed description of that category's specifics. Each sample also comes with its own 'readme.txt' file explaining details. +Welcome to the Spring Integration Samples. To simplify your experience, Spring Integration Samples were split into 4 distinct categories: + +* Basic +* Intermediate +* Advanced +* Applications + + Inside of each category you'll find a 'README.md' which will contain a more detailed description of that category's specifics. Each sample also comes with its own 'readme.txt' file explaining details. *Happy Integration!* From 77741507ed1dd2eb749bf83dfa74a673feb61497 Mon Sep 17 00:00:00 2001 From: Gunnar Hillert Date: Tue, 16 Aug 2011 00:04:53 -0400 Subject: [PATCH 7/7] Highlighted a few adapters, fixed some wording in README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3f2c3aaf..74547be9 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Below is a short description of each category. ## Basic -This is a good place to get started. The samples here are technically motivated and demonstrate the bare minimum with regard to configuration and code to help you to get introduced to the basic concepts, API and configuration of Spring Integration. For example if you are looking for an answer on how to wire service-activator to a channel or how to apply Gateway to your message exchange or how to get started with using MAIL or XML the module, this would be the right place to find a relevant sample. The bottom line is that this is a good starting point. +This is a good place to get started. The samples here are technically motivated and demonstrate the bare minimum with regard to configuration and code to help you to get introduced to the basic concepts, API and configuration of Spring Integration. For example, if you are looking for an answer on how to wire a **Service Activator** to a **Channel** or how to apply a **Gateway** to your message exchange or how to get started with using the **MAIL** or **XML** module, this would be the right place to find a relevant sample. The bottom line is that this is a good starting point. * **control-bus** - demonstrates the functionality of the **Control Bus** * **feed** - demonstrates the functionality of the **Feed Adapter** (RSS/ATOM) @@ -44,7 +44,7 @@ This is a good place to get started. The samples here are technically motivated ## Intermediate -This category targets developers who are already familiar with the Spring Integration framework (past getting started), but need some more guidance while resolving more advanced technical problems that you have to deal with when switching to a Messaging architecture. For example, if you are looking for an answer on how to handle errors in various scenarios, or how to properly configure an Aggregator for the situations where some messages might not ever arrive for aggregation, or any other issue that goes beyond a basic understanding and configuration of a particular component to address "what else you can do?" types of problems, this would be the right place to find relevant samples. +This category targets developers who are already more familiar with the Spring Integration framework (past getting started), but need some more guidance while resolving more advanced technical problems that you have to deal with when switching to a Messaging architecture. For example, if you are looking for an answer on how to handle errors in various scenarios, or how to properly configure an **Aggregator** for the situations where some messages might not ever arrive for aggregation, or any other issue that goes beyond a basic understanding and configuration of a particular component to address "what else you can do?" types of problems, this would be the right place to find relevant examples. * **async-gateway** - Example shows usage of an **Asynchronous Gateway** * **errorhandling** - Demonstrates basic **Error Handling** capabilities of Spring Integration @@ -54,13 +54,13 @@ This category targets developers who are already familiar with the Spring Integr ## Advanced -This category targets advanced developers who are quite familiar with the Spring Integration framework but looking to address a specific custom need by extending from the Spring Integration public API. For example, if you are looking for samples showing you how to implement a custom Channel or Consumer (event-based or polling-based), or you are trying to figure out what is the most appropriate way to implement a custom BeanParser on top of the Spring Integration BeanParser hierarchy when implementing a custom namespace, this would be the right place to look. Here you can also find samples that will help you with adapter development. Spring Integration comes with an extensive library of adapters that allow you to connect remote systems with the Spring Integration messaging framework. However you might have a need to integrate with a system for which the core framework does not provide an adapter, so you have to implement your own. This category would include samples showing you how to implement various adapters. +This category targets advanced developers who are quite familiar with Spring Integration but are looking to address a specific custom need by extending the Spring Integration public API. For example, if you are looking for samples showing how to implement a custom **Channel** or **Consumer** (event-based or polling-based), or you are trying to figure out what is the most appropriate way to implement a custom **BeanParser** on top of the Spring Integration BeanParser hierarchy when implementing a custom namespace, this would be the right place to look. Here you can also find samples that will help you with adapter development. Spring Integration comes with an extensive library of adapters that allow you to connect remote systems with the Spring Integration messaging framework. However you might have a need to integrate with a system for which the core framework does not provide an adapter, so you have to implement your own. This category would include samples showing you how to implement various adapters. * **advanced-testing-examples** - Example test cases that show advanced techniques to test Spring Integration applications ## Applications -This category targets developers and architects who have a good understanding of Message-driven architecture and Enterprise Integration Patterns, and an above average understanding of Spring and Spring integration and who are looking for samples that address a particular business problem. In other words, the emphasis of samples in this category is 'business use cases' and how they can be solved via a Messaging architecture and Spring Integration in particular. For example, if you are interested to see how a Loan Broker process or Travel Agent process could be implemented and automated via Spring Integration, this would be the right place to find these types of samples. +This category targets developers and architects who have a good understanding of Message-Driven architecture and Enterprise Integration Patterns, and have an above average understanding of Spring and Spring integration and who are looking for samples that address a particular business problem. In other words, the emphasis of samples in this category is '**business use cases**' and how they can be solved via a Messaging architecture and Spring Integration in particular. For example, if you are interested to see how a Loan Broker process or Travel Agent process could be implemented and automated via Spring Integration, this would be the right place to find these types of samples. * **cafe** - Emulates a simple operation of a coffee shop combining various Spring Integration adapters (Including **Router** and **Splitter**) see [Appendix A of the reference documentation](http://static.springsource.org/spring-integration/docs/latest-ga/reference/html/samples.html) for more details * **loan-broker** - Simulates a simple banking application (Uses **Gateway**, **Chain**, **Header Enricher**, **Recipient List Router**, **Aggregator**) see [Appendix A of the reference documentation](http://static.springsource.org/spring-integration/docs/latest-ga/reference/html/samples.html) for more details