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 <ttarrant(a)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[(a)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[b...
My 2c
Radim
> Cheers,
>
>> Comments are welcome
>>
>> Tristan
>> --
>> Tristan Tarrant
>> Infinispan Lead
>> JBoss, a division of Red Hat
>> _______________________________________________
>> infinispan-dev mailing list
>> infinispan-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/infinispan-dev
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/infinispan-dev