While we could define the behaviour as in 3), I think that this is most likely a configuration error. Therefore, I'd go with 1), and ideally provide a link to FAQ/docs where you'd explain what exactly happened in the exception message.
R. On 02/27/2017 03:31 PM, William Burns wrote: > When working on another project using Infinispan the code being used > was a bit interesting and I don't think our template configuration > handling was expecting it do so in such a way. > > Essentially the code defined a template for a distributed cache as > well as some named caches. Then whenever a cache is retrieved it would > pass the given name and always the distributed cache template. > Unfortunately with the way templates work they essentially redefine a > cache first so the actual cache configuration was wiped out. In this > example I was able to get the code to change to using a default cache > instead, which is the behavior that is needed. > > The issue though at hand is whether we should allow a user to call > getCache in such a way. My initial thought is to have it throw some > sort of configuration exception when this is invoked. But there are > some possible options. > > 1. Throw a configuration exception not allowing a user to use a > template with an already defined cache. This has a slight disconnect > between configuration and runtime, since if a user adds a new > definition it could cause runtime issues. > 2. Log an error/warning message when this occurs. Is this enough > though? Still could have runtime issues that are possibly undetected. > 3. Merge the configurations together applying the template first. > This would be akin to how default cache works currently, but you would > get to define your default template configuration at runtime. This > sounded like the best option to me, but the problem is what if someone > calls getCache using the same cache name but a different template. > This could get hairy as well. > > Really thinking about the future, disconnecting the cache definition > and retrieval would be the best option, but we can't do that this late > in the game. > > What do you guys think? > > - Will > > > _______________________________________________ > infinispan-dev mailing list > infinispan-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/infinispan-dev -- Radim Vansa <rva...@redhat.com> JBoss Performance Team _______________________________________________ infinispan-dev mailing list infinispan-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/infinispan-dev