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. Threading Model 2.9. Controlling Start-Up and Shutdown of Routes Expand section "2.9. Controlling Start-Up and Shutdown of Routes" Collapse section "2.9. Controlling Start-Up and Shutdown of Routes" 2.9.1. RouteIdFactory 2.10. Scheduled Route Policy Expand section "2.10. Scheduled Route Policy" Collapse section "2.10. Scheduled Route Policy" 2.10.1. Overview of Scheduled Route Policies 2.10.2. Simple Scheduled Route Policy 2.10.3. Cron Scheduled Route Policy 2.10.4. Route Policy Factory 2.11. Reloading Camel Routes 2.12. OnCompletion 2.13. Metrics 2.14. JMX Naming 2.15. 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. Defining REST Services Expand section "4. Defining REST Services" Collapse section "4. Defining REST Services" 4.1. Overview of REST in Camel 4.2. Defining Services with REST DSL 4.3. Marshalling to and from Java Objects 4.4. Configuring the REST DSL 4.5. Swagger Integration 5. Messaging Systems Expand section "5. Messaging Systems" Collapse section "5. Messaging Systems" 5.1. Message 5.2. Message Channel 5.3. Message Endpoint 5.4. Pipes and Filters 5.5. Message Router 5.6. Message Translator 5.7. Message History 6. Messaging Channels Expand section "6. Messaging Channels" Collapse section "6. Messaging Channels" 6.1. Point-to-Point Channel 6.2. Publish-Subscribe Channel 6.3. Dead Letter Channel 6.4. Guaranteed Delivery 6.5. Message Bus 7. Message Construction Expand section "7. Message Construction" Collapse section "7. Message Construction" 7.1. Correlation Identifier 7.2. Event Message 7.3. Return Address 8. Message Routing Expand section "8. Message Routing" Collapse section "8. Message Routing" 8.1. Content-Based Router 8.2. Message Filter 8.3. Recipient List 8.4. Splitter 8.5. Aggregator 8.6. Resequencer 8.7. Routing Slip 8.8. Throttler 8.9. Delayer 8.10. Load Balancer 8.11. Hystrix 8.12. Service Call 8.13. Multicast 8.14. Composed Message Processor 8.15. Scatter-Gather 8.16. Loop 8.17. Sampling 8.18. Dynamic Router 9. Message Transformation Expand section "9. Message Transformation" Collapse section "9. Message Transformation" 9.1. Content Enricher 9.2. Content Filter 9.3. Normalizer 9.4. Claim Check 9.5. Sort 9.6. Validate 10. Messaging Endpoints Expand section "10. Messaging Endpoints" Collapse section "10. Messaging Endpoints" 10.1. Messaging Mapper 10.2. Event Driven Consumer 10.3. Polling Consumer 10.4. Competing Consumers 10.5. Message Dispatcher 10.6. Selective Consumer 10.7. Durable Subscriber 10.8. Idempotent Consumer 10.9. Transactional Client 10.10. Messaging Gateway 10.11. Service Activator 11. System Management Expand section "11. System Management" Collapse section "11. System Management" 11.1. Detour 11.2. LogEIP 11.3. Wire Tap 12. Service Component Runtime II. Routing Expression and Predicate Languages Expand section "II. Routing Expression and Predicate Languages" Collapse section "II. Routing Expression and Predicate Languages" 13. Introduction Expand section "13. Introduction" Collapse section "13. Introduction" 13.1. Overview of the Languages 13.2. How to Invoke an Expression Language 14. Constant 15. EL 16. The File Language Expand section "16. The File Language" Collapse section "16. The File Language" 16.1. When to Use the File Language 16.2. File Variables 16.3. Examples 17. Groovy 18. Header 19. JavaScript 20. JoSQL 21. JsonPath 22. JXPath 23. MVEL 24. The Object-Graph Navigation Language(OGNL) 25. PHP 26. Exchange Property 27. Python 28. Ref 29. Ruby 30. The Simple Language Expand section "30. The Simple Language" Collapse section "30. The Simple Language" 30.1. Java DSL 30.2. XML DSL 30.3. Invoking an External Script 30.4. Expressions 30.5. Predicates 30.6. Variable Reference 30.7. Operator Reference 31. SpEL 32. The XPath Language Expand section "32. The XPath Language" Collapse section "32. The XPath Language" 32.1. Java DSL 32.2. XML DSL 32.3. XPath Injection 32.4. XPath Builder 32.5. Enabling Saxon 32.6. Expressions 32.7. Predicates 32.8. Using Variables and Functions 32.9. Variable Namespaces 32.10. Function Reference 33. XQuery III. Programming EIP Components Expand section "III. Programming EIP Components" Collapse section "III. Programming EIP Components" 34. Understanding Message Formats Expand section "34. Understanding Message Formats" Collapse section "34. Understanding Message Formats" 34.1. Exchanges 34.2. Messages 34.3. Built-In Type Converters 34.4. Built-In UUID Generators 35. Implementing a Processor Expand section "35. Implementing a Processor" Collapse section "35. Implementing a Processor" 35.1. Processing Model 35.2. Implementing a Simple Processor 35.3. Accessing Message Content 35.4. The ExchangeHelper Class 36. Type Converters Expand section "36. Type Converters" Collapse section "36. Type Converters" 36.1. Type Converter Architecture 36.2. Handling Duplicate Type Converters 36.3. Implementing Type Converter Using Annotations 36.4. Implementing a Type Converter Directly 37. Producer and Consumer Templates Expand section "37. Producer and Consumer Templates" Collapse section "37. Producer and Consumer Templates" 37.1. Using the Producer Template Expand section "37.1. Using the Producer Template" Collapse section "37.1. Using the Producer Template" 37.1.1. Introduction to the Producer Template 37.1.2. Synchronous Send 37.1.3. Synchronous Request with InOut Pattern 37.1.4. Asynchronous Send 37.1.5. Asynchronous Request with InOut Pattern 37.1.6. Asynchronous Send with Callback 37.2. Using Fluent Producer Templates 37.3. Using the Consumer Template 38. Implementing a Component Expand section "38. Implementing a Component" Collapse section "38. Implementing a Component" 38.1. Component Architecture Expand section "38.1. Component Architecture" Collapse section "38.1. Component Architecture" 38.1.1. Factory Patterns for a Component 38.1.2. Using a Component in a Route 38.1.3. Consumer Patterns and Threading 38.1.4. Asynchronous Processing 38.2. How to Implement a Component 38.3. Auto-Discovery and Configuration Expand section "38.3. Auto-Discovery and Configuration" Collapse section "38.3. Auto-Discovery and Configuration" 38.3.1. Setting Up Auto-Discovery 38.3.2. Configuring a Component 39. Component Interface Expand section "39. Component Interface" Collapse section "39. Component Interface" 39.1. The Component Interface 39.2. Implementing the Component Interface 40. Endpoint Interface Expand section "40. Endpoint Interface" Collapse section "40. Endpoint Interface" 40.1. The Endpoint Interface 40.2. Implementing the Endpoint Interface 41. Consumer Interface Expand section "41. Consumer Interface" Collapse section "41. Consumer Interface" 41.1. The Consumer Interface 41.2. Implementing the Consumer Interface 42. Producer Interface Expand section "42. Producer Interface" Collapse section "42. Producer Interface" 42.1. The Producer Interface 42.2. Implementing the Producer Interface 43. Exchange Interface Expand section "43. Exchange Interface" Collapse section "43. Exchange Interface" 43.1. The Exchange Interface 44. Message Interface Expand section "44. Message Interface" Collapse section "44. Message Interface" 44.1. The Message Interface 44.2. Implementing the Message Interface IV. The API Component Framework Expand section "IV. The API Component Framework" Collapse section "IV. The API Component Framework" 45. Introduction to the API Component Framework Expand section "45. Introduction to the API Component Framework" Collapse section "45. Introduction to the API Component Framework" 45.1. What is the API Component Framework? 45.2. How to use the Framework 46. Getting Started with the Framework Expand section "46. Getting Started with the Framework" Collapse section "46. Getting Started with the Framework" 46.1. Generate Code with the Maven Archetype 46.2. Generated API Sub-Project 46.3. Generated Component Sub-Project 46.4. Programming Model 46.5. Sample Component Implementations 47. Configuring the API Component Maven Plug-In Expand section "47. Configuring the API Component Maven Plug-In" Collapse section "47. Configuring the API Component Maven Plug-In" 47.1. Overview of the Plug-In Configuration 47.2. Javadoc Options 47.3. Method Aliases 47.4. Nullable Options 47.5. Argument Name Substitution 47.6. Excluded Arguments 47.7. Extra Options Index Legal Notice 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 III. Programming EIP Components This guide describes how to use the Apache Camel API. Previous Next