6.1 Overview of Camel components6.1.1 Manually adding components6.1.2 Autodiscovering components6.2 Working with files: File and FTP components6.2.1 Reading and writing files with the File component6.2.2 Accessing remote files with the FTP component6.3 Asynchronous messaging: JMS component6.3.1 Sending and receiving messages6.3.2 Request-reply messaging6.3.3 Message mappings6.4 Networking: Netty4 component6.4.1 Using Netty for network programming6.4.2 Using custom codecs6.5 Working with databases: JDBC and JPA components6.5.1 Accessing data with the JDBC component6.5.2 Persisting objects with the JPA component6.6 In-memory messaging: Direct, Direct-VM, SEDA, and VM components6.6.1 Synchronous messaging with Direct and Direct-VM6.6.2 Asynchronous messaging with SEDA and VM6.7 Automating tasks: Scheduler and Quartz2 components6.7.1 Using the Scheduler component6.7.2 Enterprise scheduling with Quartz6.8 Working with email6.8.1 Sending mail with SMTP6.8.2 Receiving mail with IMAP6.9 Summary and best practices