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 -- 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