Chapter 7. Understanding components


This chapter covers

  • An overview of Camel components
  • Working with files and databases
  • Messaging with JMS
  • Web services using Apache CXF
  • Networking with Apache MINA
  • In-memory messaging
  • Automating tasks with the Quartz and Timer components

So far, we’ve only touched on a handful of ways that Camel can communicate with external applications, and we haven’t gone into much detail on most components. It’s time to take your use of the components you’ve already seen to the next level, and to introduce new components that will enable your Camel applications to communicate with the outside world.

First, we’ll discuss exactly what it means to be a component in Camel. We’ll also see how components are added to Camel. Then, although we can’t describe every component in Camel—that would at least triple the length of this book—we’ll look at the most commonly used components.

Table 7.1 lists the components we’ll cover in this chapter and lists the URLs for their official documentation.

7.1. Overview of Camel components

7.2. Working with files (File and FTP components)

7.3. Asynchronous messaging (JMS component)

7.4. Web services (CXF component)

7.5. Networking (MINA component)

7.6. Working with databases (JDBC and JPA components)

7.7. In-memory messaging (Direct, SEDA, and VM components)

7.8. Automating tasks (Timer and Quartz components)

7.9. Summary and best practices