So you've been putting that XSL/Xpath knowledge to good use I see. I like it.
Tristan On 01/06/2016 09:02, Radim Vansa wrote: > On 05/31/2016 01:33 PM, Galder Zamarreño wrote: >> Comments inline: >> >> -- >> Galder Zamarreño >> Infinispan, Red Hat >> >>> On 30 May 2016, at 09:46, Tristan Tarrant <ttarr...@redhat.com> wrote: >>> >>> In the past there has been talk of representing a connection to >>> Infinispan using a URL, in particular for HotRod. >>> The Hibernate OGM team is now working on adding NoSQL datasources to >>> WildFly, and they've asked for they should represent connections to >>> various of these. >> ^ What's this trying to solve exactly? >> >>> For Hot Rod: >>> >>> infinispan:hotrod://[host1][:port1][,[host2][:port2]]...[/cachemanager] >>> >>> The [cachemanager] part is for multi-tenant servers (Hot Rod doesn't >>> currently support this, so this is forward-looking). >>> Obviously we will support all of the HotRod properties for specifying >>> things like security, etc. >> ^ Hmmm, all properties? Do you envision potentially putting all HR client >> config inside a URL? >> >>> For Embedded: >>> >>> infinispan:embedded:file://path/to/config.xml (for specifying an >>> external config file) >>> infinispan:embedded:jndi://path/to/jndi (for referencing a cachemanager >>> in JNDI) >>> infinispan:embedded: (configuration specified as properties) >>> >>> For the latter, we also need to be able to represent an infinispan >>> configuration using properties with a simple mapping to XML >>> elements/attributes, e.g. >>> >>> cache-manager.local-cache.mycache.eviction.size=1000 >> ^ Why 'local-cache' in property name? cachemanager.mycache...etc would be >> enough since there can't be duplicate cache names inside a given cache >> manager. So, is 'local-cache' merely a hint? > The first idea would be to make the left-hand side XPath expressions, so > it would be > > cache-container[@name=myManager].local-cache[@name=myCache].eviction.size=1000 > > As we probably want to select only on the name attribute, this could be > sufficient and less verbose: > > cache-container[myManager].local-cache[myCache].eviction.size=1000 > > I wouldn't mix 'schema' of the property with user-defined identifiers - > those brackets clearly separate them for good. > > There are cases where you have multiple children in one element - custom > interceptors, groups, persistence (though the current schema tells me I > can have only one store defined)... and there is no clear identifier (as > cache name, or backup site). I would suggest that there a custom > identifier that is not present in configuration would help user identify > this, e.g. > > cache-container[myManager].distributed-cache[myCache].persistence.store[foo].class=org.my.FooStore > cache-container[myManager].distributed-cache[myCache].persistence.store[foo].file=/some/path > cache-container[myManager].distributed-cache[myCache].persistence.store[bar].class=org.my.BarStore > cache-container[myManager].distributed-cache[myCache].persistence.store[bar].url=http://example.com > > My 2c > > Radim > >> Cheers, >> >>> Comments are welcome >>> >>> Tristan >>> -- >>> Tristan Tarrant >>> Infinispan Lead >>> JBoss, a division of Red Hat >>> _______________________________________________ >>> infinispan-dev mailing list >>> infinispan-dev@lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/infinispan-dev >> _______________________________________________ >> infinispan-dev mailing list >> infinispan-dev@lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/infinispan-dev > _______________________________________________ infinispan-dev mailing list infinispan-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/infinispan-dev