How do the direct, event, seda, and vm endpoints compare?

  • VM and SEDA endpoints are basically the same; they both offer asychronous in memory SEDA queues; they differ in visibility — endpoints are visible inside the same JVM or within the same CamelContext respectively.

  • Direct uses no threading; it directly invokes the consumer when sending.

  • Spring Event adds a listener to Spring’s application events; so the consumer is invoked the same thread as Spring notifies events. Event differs in that the payload should be a Spring ApplicationEvent object whereas Direct, SEDA and VM can use any payload.

More information about when to use which component can be found in this guide.