Jump To Close Expand all Collapse all Table of contents Apache Camel Development Guide I. Implementing Enterprise Integration Patterns Expand section "I. Implementing Enterprise Integration Patterns" Collapse section "I. Implementing Enterprise Integration Patterns" 1. Building Blocks for Route Definitions Expand section "1. Building Blocks for Route Definitions" Collapse section "1. Building Blocks for Route Definitions" 1.1. Implementing a RouteBuilder Class 1.2. Basic Java DSL Syntax 1.3. Router Schema in a Spring XML File 1.4. Endpoints 1.5. Processors 2. Basic Principles of Route Building Expand section "2. Basic Principles of Route Building" Collapse section "2. Basic Principles of Route Building" 2.1. Pipeline Processing 2.2. Multiple Inputs 2.3. Exception Handling Expand section "2.3. Exception Handling" Collapse section "2.3. Exception Handling" 2.3.1. onException Clause 2.3.2. Error Handler 2.3.3. doTry, doCatch, and doFinally 2.3.4. Propagating SOAP Exceptions 2.4. Bean Integration 2.5. Creating Exchange Instances 2.6. Transforming Message Content Expand section "2.6. Transforming Message Content" Collapse section "2.6. Transforming Message Content" 2.6.1. Simple Message Transformations 2.6.2. Marshalling and Unmarshalling 2.6.3. Endpoint Bindings 2.7. Property Placeholders 2.8. Aspect Oriented Programming 2.9. Threading Model 2.10. Controlling Start-Up and Shutdown of Routes 2.11. Scheduled Route Policy Expand section "2.11. Scheduled Route Policy" Collapse section "2.11. Scheduled Route Policy" 2.11.1. Overview of Scheduled Route Policies 2.11.2. Simple Scheduled Route Policy 2.11.3. Cron Scheduled Route Policy 2.12. JMX Naming 2.13. Performance and Optimization 3. Introducing Enterprise Integration Patterns Expand section "3. Introducing Enterprise Integration Patterns" Collapse section "3. Introducing Enterprise Integration Patterns" 3.1. Overview of the Patterns 4. Messaging Systems Expand section "4. Messaging Systems" Collapse section "4. Messaging Systems" 4.1. Message 4.2. Message Channel 4.3. Message Endpoint 4.4. Pipes and Filters 4.5. Message Router 4.6. Message Translator 5. Messaging Channels Expand section "5. Messaging Channels" Collapse section "5. Messaging Channels" 5.1. Point-to-Point Channel 5.2. Publish-Subscribe Channel 5.3. Dead Letter Channel 5.4. Guaranteed Delivery 5.5. Message Bus 6. Message Construction Expand section "6. Message Construction" Collapse section "6. Message Construction" 6.1. Correlation Identifier 6.2. Event Message 6.3. Return Address 7. Message Routing Expand section "7. Message Routing" Collapse section "7. Message Routing" 7.1. Content-Based Router 7.2. Message Filter 7.3. Recipient List 7.4. Splitter 7.5. Aggregator 7.6. Resequencer 7.7. Routing Slip 7.8. Throttler 7.9. Delayer 7.10. Load Balancer 7.11. Multicast 7.12. Composed Message Processor 7.13. Scatter-Gather 7.14. Loop 7.15. Sampling 7.16. Dynamic Router 8. Message Transformation Expand section "8. Message Transformation" Collapse section "8. Message Transformation" 8.1. Content Enricher 8.2. Content Filter 8.3. Normalizer 8.4. Claim Check 8.5. Sort 8.6. Validate 9. Messaging Endpoints Expand section "9. Messaging Endpoints" Collapse section "9. Messaging Endpoints" 9.1. Messaging Mapper 9.2. Event Driven Consumer 9.3. Polling Consumer 9.4. Competing Consumers 9.5. Message Dispatcher 9.6. Selective Consumer 9.7. Durable Subscriber 9.8. Idempotent Consumer 9.9. Transactional Client 9.10. Messaging Gateway 9.11. Service Activator 10. System Management Expand section "10. System Management" Collapse section "10. System Management" 10.1. Detour 10.2. LogEIP 10.3. Wire Tap A. Migrating from ServiceMix EIP Expand section "A. Migrating from ServiceMix EIP" Collapse section "A. Migrating from ServiceMix EIP" A.1. Migrating Endpoints A.2. Common Elements A.3. ServiceMix EIP Patterns A.4. Content-based Router A.5. Content Enricher A.6. Message Filter A.7. Pipeline A.8. Resequencer A.9. Static Recipient List A.10. Static Routing Slip A.11. Wire Tap A.12. XPath Splitter II. Routing Expression and Predicate Languages Expand section "II. Routing Expression and Predicate Languages" Collapse section "II. Routing Expression and Predicate Languages" 11. Introduction Expand section "11. Introduction" Collapse section "11. Introduction" 11.1. Overview of the Languages 11.2. How to Invoke an Expression Language 12. Constant 13. EL 14. The File Language Expand section "14. The File Language" Collapse section "14. The File Language" 14.1. When to Use the File Language 14.2. File Variables 14.3. Examples 15. Groovy 16. Header 17. JavaScript 18. JoSQL 19. JXPath 20. MVEL 21. The Object-Graph Navigation Language(OGNL) 22. PHP 23. Property 24. Python 25. Ref 26. Ruby 27. The Simple Language Expand section "27. The Simple Language" Collapse section "27. The Simple Language" 27.1. Java DSL 27.2. XML DSL 27.3. Invoking an External Script 27.4. Expressions 27.5. Predicates 27.6. Variable Reference 27.7. Operator Reference 28. SpEL 29. The XPath Language Expand section "29. The XPath Language" Collapse section "29. The XPath Language" 29.1. Java DSL 29.2. XML DSL 29.3. XPath Injection 29.4. XPath Builder 29.5. Enabling Saxon 29.6. Expressions 29.7. Predicates 29.8. Using Variables and Functions 29.9. Variable Namespaces 29.10. Function Reference 30. XQuery III. Web Services and Routing with Camel CXF Expand section "III. Web Services and Routing with Camel CXF" Collapse section "III. Web Services and Routing with Camel CXF" 31. Demonstration Code for Camel/CXF Expand section "31. Demonstration Code for Camel/CXF" Collapse section "31. Demonstration Code for Camel/CXF" 31.1. Downloading and Installing the Demonstrations 31.2. Running the Demonstrations 32. Java-First Service Implementation Expand section "32. Java-First Service Implementation" Collapse section "32. Java-First Service Implementation" 32.1. Java-First Overview 32.2. Define SEI and Related Classes 32.3. Annotate SEI for JAX-WS 32.4. Instantiate the WS Endpoint 32.5. Java-to-WSDL Maven Plug-In 33. WSDL-First Service Implementation Expand section "33. WSDL-First Service Implementation" Collapse section "33. WSDL-First Service Implementation" 33.1. WSDL-First Overview 33.2. CustomerService WSDL Contract 33.3. WSDL-to-Java Maven Plug-In 33.4. Instantiate the WS Endpoint 33.5. Deploy to an OSGi Container 34. Implementing a WS Client Expand section "34. Implementing a WS Client" Collapse section "34. Implementing a WS Client" 34.1. WS Client Overview 34.2. WSDL-to-Java Maven Plug-In 34.3. Instantiate the WS Client Proxy 34.4. Invoke WS Operations 34.5. Deploy to an OSGi Container 35. Pojo-Based Route Expand section "35. Pojo-Based Route" Collapse section "35. Pojo-Based Route" 35.1. Processing Messages in POJO Format 35.2. WSDL-to-Java Maven Plug-In 35.3. Instantiate the WS Endpoint 35.4. Sort Messages by Operation Name 35.5. Process Operation Parameters 35.6. Deploy to OSGi 36. Payload-Based Route Expand section "36. Payload-Based Route" Collapse section "36. Payload-Based Route" 36.1. Processing Messages in PAYLOAD Format 36.2. Instantiate the WS Endpoint 36.3. Sort Messages by Operation Name 36.4. SOAP/HTTP-to-JMS Bridge Use Case 36.5. Generating Responses Using Templates 36.6. TypeConverter for CXFPayload 36.7. Deploy to OSGi 37. Provider-Based Route Expand section "37. Provider-Based Route" Collapse section "37. Provider-Based Route" 37.1. Provider-Based JAX-WS Endpoint 37.2. Create a Provider<?> Implementation Class 37.3. Instantiate the WS Endpoint 37.4. Sort Messages by Operation Name 37.5. SOAP/HTTP-to-JMS Bridge Use Case 37.6. Generating Responses Using Templates 37.7. TypeConverter for SAXSource 37.8. Deploy to OSGi 38. Proxying a Web Service Expand section "38. Proxying a Web Service" Collapse section "38. Proxying a Web Service" 38.1. Proxying with HTTP 38.2. Proxying with POJO Format 38.3. Proxying with PAYLOAD Format 38.4. Handling HTTP Headers 39. Filtering SOAP Message Headers Expand section "39. Filtering SOAP Message Headers" Collapse section "39. Filtering SOAP Message Headers" 39.1. Basic Configuration 39.2. Header Filtering 39.3. Implementing a Custom Filter 39.4. Installing Filters IV. Programming EIP Components Expand section "IV. Programming EIP Components" Collapse section "IV. Programming EIP Components" 40. Understanding Message Formats Expand section "40. Understanding Message Formats" Collapse section "40. Understanding Message Formats" 40.1. Exchanges 40.2. Messages 40.3. Built-In Type Converters 40.4. Built-In UUID Generators 41. Implementing a Processor Expand section "41. Implementing a Processor" Collapse section "41. Implementing a Processor" 41.1. Processing Model 41.2. Implementing a Simple Processor 41.3. Accessing Message Content 41.4. The ExchangeHelper Class 42. Type Converters Expand section "42. Type Converters" Collapse section "42. Type Converters" 42.1. Type Converter Architecture 42.2. Implementing Type Converter Using Annotations 42.3. Implementing a Type Converter Directly 43. Producer and Consumer Templates Expand section "43. Producer and Consumer Templates" Collapse section "43. Producer and Consumer Templates" 43.1. Using the Producer Template Expand section "43.1. Using the Producer Template" Collapse section "43.1. Using the Producer Template" 43.1.1. Introduction to the Producer Template 43.1.2. Synchronous Send 43.1.3. Synchronous Request with InOut Pattern 43.1.4. Asynchronous Send 43.1.5. Asynchronous Request with InOut Pattern 43.1.6. Asynchronous Send with Callback 43.2. Using the Consumer Template 44. Implementing a Component Expand section "44. Implementing a Component" Collapse section "44. Implementing a Component" 44.1. Component Architecture Expand section "44.1. Component Architecture" Collapse section "44.1. Component Architecture" 44.1.1. Factory Patterns for a Component 44.1.2. Using a Component in a Route 44.1.3. Consumer Patterns and Threading 44.1.4. Asynchronous Processing 44.2. How to Implement a Component 44.3. Auto-Discovery and Configuration Expand section "44.3. Auto-Discovery and Configuration" Collapse section "44.3. Auto-Discovery and Configuration" 44.3.1. Setting Up Auto-Discovery 44.3.2. Configuring a Component 45. Component Interface Expand section "45. Component Interface" Collapse section "45. Component Interface" 45.1. The Component Interface 45.2. Implementing the Component Interface 46. Endpoint Interface Expand section "46. Endpoint Interface" Collapse section "46. Endpoint Interface" 46.1. The Endpoint Interface 46.2. Implementing the Endpoint Interface 47. Consumer Interface Expand section "47. Consumer Interface" Collapse section "47. Consumer Interface" 47.1. The Consumer Interface 47.2. Implementing the Consumer Interface 48. Producer Interface Expand section "48. Producer Interface" Collapse section "48. Producer Interface" 48.1. The Producer Interface 48.2. Implementing the Producer Interface 49. Exchange Interface Expand section "49. Exchange Interface" Collapse section "49. Exchange Interface" 49.1. The Exchange Interface 50. Message Interface Expand section "50. Message Interface" Collapse section "50. Message Interface" 50.1. The Message Interface 50.2. Implementing the Message Interface Index Trademark Disclaimer Third Party Acknowledgements Settings Close Language: English Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF Language and Page Formatting Options Language: English Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF Red Hat Training A Red Hat training course is available for Red Hat Fuse Part IV. Programming EIP Components Abstract This guide describes how to use the Apache Camel API. Previous Next