[[Howdothedirecteventsedaandvmendpointscompare-Howdothedirecteventsedaandvmendpointscompare]]
= How do the `direct`, `event`, `seda`, and `vm` endpoints compare?

* xref:components::vm-component.adoc[VM] and xref:components::seda-component.adoc[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.
* xref:components::direct-component.adoc[Direct] uses no threading; it directly invokes the
consumer when sending.
* xref:components::spring-event-component.adoc[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 xref:components::direct-component.adoc[Direct],
xref:components::seda-component.adoc[SEDA] and xref:components::vm-component.adoc[VM] can use any payload.
