In WF8 we used the cache configuration start="EAGER" to force the initialization of the cache configuration.
In my scenario, we especially used that trick to define all cache configuration (i.e. entity / timestamps / local-query) in the hibernate cache container before any of our war was deployed. Doing so, when wiring the EntityManager programatically (in our application), we were able to depend on the JNDIRegionFactory without getting any NullPointerException/etc.
This trick has only one bad side effect, which was the creation of unecessary caches.
Now in WF10, the eager feature is gone and it seems that even if the cache container is available at startup (as discussed in: https://developer.jboss.org/thread/259151) the defined caches are not.
I do not know if this is a bug or this is by design but this seems wrong to me.
If we define caches within standalone.xml, I would definitly like to have them defined at the container level. I think it's fair to assume that when pulling the CacheManager all defined caches should have been there.
I would suggest that when reading all the infinispan subsystem, each cache contained in each cache container be eagerly defined to avoid any issue (and I really meant "defined" and not "started").
Doing so this would resolve our EntityManager second level cache bootstraping without relying on our application to define the missing cache configuration.