How do I configure the maximum endpoint cache size for CamelContext?

CamelContext will by default cache the last 1000 used endpoints (based on a LRUCache).

Configuring cache size

Since Camel 2.8

You can configure the default maximum cache size by setting the Exchange.MAXIMUM_ENDPOINT_CACHE_SIZE property on CamelContext.

getCamelContext().getGlobalOptions().put(Exchange.MAXIMUM_ENDPOINT_CACHE_SIZE, "500");

You need to configure this before CamelContext is started.

And in Spring XML its done as:

<camelContext>
   <properties>
      <property key="CamelMaximumEndpointCacheSize" value="500"/>
   </properties>
...
</camelContext>

At runtime you can see the EndpointRegistry in JMX as they are listed in the services category.