6 Using components

 

This chapter covers

  • An overview of Camel components
  • Working with files and databases
  • Messaging with JMS
  • Networking with Netty
  • Working with databases
  • In-memory messaging
  • Automating tasks with the Quartz and Scheduler components
  • Sending and receiving email

So far, we’ve touched on only 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 show you how components are added to Camel. Then, although we can’t describe every component—that would at least triple the length of this book—we’ll present the most commonly used ones.

Table 6.1 lists the components covered in this chapter and the URLs for their official documentation.

6.1 Overview of Camel components

6.1.1 Manually adding components

6.1.2 Autodiscovering components

6.2 Working with files: File and FTP components

6.2.1 Reading and writing files with the File component

6.2.2 Accessing remote files with the FTP component

6.3 Asynchronous messaging: JMS component

6.3.1 Sending and receiving messages

6.3.2 Request-reply messaging

6.3.3 Message mappings

6.4 Networking: Netty4 component

6.4.1 Using Netty for network programming

6.4.2 Using custom codecs

6.5 Working with databases: JDBC and JPA components

6.5.1 Accessing data with the JDBC component

6.5.2 Persisting objects with the JPA component

6.6 In-memory messaging: Direct, Direct-VM, SEDA, and VM components

6.6.1 Synchronous messaging with Direct and Direct-VM

6.6.2 Asynchronous messaging with SEDA and VM

6.7 Automating tasks: Scheduler and Quartz2 components

6.7.1 Using the Scheduler component

6.7.2 Enterprise scheduling with Quartz

6.8 Working with email

6.8.1 Sending mail with SMTP

6.8.2 Receiving mail with IMAP

6.9 Summary and best practices

sitemap