It is my understanding from what Manik said that we would like to have
this CacheManager implementation being a part of the standard Spring
distribution. Is that correct? Therefore, I have asked in the
SpringSource forum
1. if those folks are interested in having an Infinispan backed
CacheManager implementation contributed to them and
2. if so, what I have to do to have my contribution accepted.
So far, I have not received an answer to my request. I'm a bit
sceptical, though, since it *seems* as if the Spring folks only accept
dependencies from their own Enterprise Bundle Repository which would
leave us obliged to turn Infinispan into an OSGi bundle. Alternatively,
we could always make it a part of Infinispan itself, maybe separated
into its own module. Any thoughts on this?
Meanwhile, the implementation thus far seems to progress nicely, a first
test passes. I'm developing against Infinispan 4.2.0.Final, the current
stable version. For the time being I concentrate on supporting the
embedded use case, although I'm aware that there is RemoteCache and its
ilk. I would prefer to finally have two different implementations of
org.springframework.cache.CacheManager, one backed by
EmbeddedCacheManager and the other by RemoteCacheManager. Those two seem
different enough to render any attempt at implementing a common
abstraction futile. Any thoughts on this?
In addition to the Infinispan backed CacheManager I implemented two
FactoryBeans for creating org.infinispan.Cache and
org.infinispan.manager.EmbeddedCacheManager instances. At least a
FactoryBean for the latter seems necessary since otherwise users will
have a hard time trying to obtain an Infinispan backed CacheManager from
their application context.
Right now, all configuration is done by pointing those FactoryBeans to
the location of a configuration file in the standard Infinispan format.
The Spring way to go would be to alternatively offer setters for all
configuration options. However, org.infinispan.config.Configuration is
quite ... expansive. Are there any prominent options I should
concentrate on first?
Cheers,
Olaf
Am 02.03.11 18:03, schrieb Sanne Grinovero:
Hi Olaf,
We just created the issue to track this:
https://issues.jboss.org/browse/ISPN-961
thanks for your help!
Cheers,
Sanne
2011/3/2 Olaf Bergner<olaf.bergner(a)gmx.de>:
> So I will implement Spring's CacheManager interface first. After that, I
> will have a look at ISPN-78. It looks highly interesting, yet not
> exactly trivial. Which is good and bad ;-) I'll see how it goes. Anyway,
> the list of open issues for 5.1.0.Final should prove sufficient to keep
> me entertained for a while.
>
> Cheers,
> Olaf
>
> Am 02.03.11 11:29, schrieb Manik Surtani:
>> Great! If you are a Spring guy (or even if not!), you could implement
>>
>>
http://static.springsource.org/spring/docs/3.1.0.M1/javadoc-api/index.htm...
>>
>> using Infinispan, and contribute it back to Spring ... we'd really appreciate
that and it would be a great start for you to get used to working with Infinispan. :-)
>>
>> Then, perhaps something more meaty like:
>>
>>
https://issues.jboss.org/browse/ISPN-78
>>
>> might be fun... or if you like Linux/C/JNI:
>>
>>
https://issues.jboss.org/browse/ISPN-517
>>
>> Otherwise, do any of these look interesting to you?
>>
>>
https://issues.jboss.org/secure/IssueNavigator.jspa?mode=hide&request...
>>
>> Cheers
>> Manik
>>
>> On 1 Mar 2011, at 20:01, Olaf Bergner wrote:
>>
>>> Hi Manik,
>>>
>>> well, my areas of expertise are probably irrelevant in this context. I
>>> chose Infinispan primarily as an opportunity to learn while working on a
>>> fascinating project that addresses some of the pain points in today's
>>> application development.
>>>
>>> As to my areas of interest: I do indeed find transaction management
>>> fascinating, that's why I was looking for an easy task in that area. But
>>> all in all, I'm interested in the whole distributed computing thing. I
>>> read the Dynamo paper, so I understand constant hash rings at least on a
>>> theoretical level.
>>>
>>> Otherwise, I thought there might be some mundane tasks nobody else is
>>> especially keen on taking on as they are probably not very interesting.
>>> Improving logging comes to mind, maybe adding some documentation.
>>> Technically not very demanding and yet those tasks need to be done. Plus
>>> they might be an opportunity to get to know the code base.
>>>
>>> All in all I'm open to suggestions.
>>>
>>> Cheers
>>> Olaf
>>>
>>> Am 01.03.11 18:32, schrieb Manik Surtani:
>>>> Hi Olaf
>>>>
>>>> Welcome to the mail list! :-)
>>>>
>>>> I believe someone (Mircea) is already working on ISPN-272 as we speak,
but there are lots of other interesting things you can take on. Are there any specific
areas of interest or expertise you may have?
>>>>
>>>> Cheers
>>>> Manik
>>>>
>>>> On 1 Mar 2011, at 14:14, Olaf Bergner wrote:
>>>>
>>>>> I've been quietly following Infinispan's progress and finally
made the
>>>>> decision to offer to help out. Since I'm not an experienced
system-level
>>>>> programmer - I've got a strong background in JEE application
development
>>>>> - I was looking for a not too complex task to start with. I took a
look
>>>>> at ISPN-272 "Implement XA recovery in TransactionXaAdapter"
and if I
>>>>> interpret Manik Surtani's comments correctly it all boils down
to
>>>>> essentially:
>>>>>
>>>>> * Make it so that Xid[] recover(int flags) returns the Xids of the
>>>>> LocalTransactions managed by this TransactionXaAdapter that are
>>>>> currently in state 'PREPARED'
>>>>>
>>>>> Is this correct? If so I thought about
>>>>>
>>>>> 1. adding a method Set<LocalTransaction>
>>>>> getLocalTransactionsCurrentlyInStatus(int desiredStatus) to
>>>>> TransactionTable, and
>>>>> 2. having recover(int flags) on TransactionXaAdapter delegate to
this
>>>>> new method, passing in Status.STATUS_PREPARED.
>>>>>
>>>>> So:
>>>>>
>>>>> 1. Could you use my help?
>>>>> 2. Is ISPN-272 a good starting point, or are there better tasks for
a
>>>>> newcomer?
>>>>> 3. If ISPN-272 is good starting point, is my proposed solution
viable,
>>>>> or is it lacking?
>>>>>
>>>>> Regards,
>>>>> Olaf
>>>>> _______________________________________________
>>>>> infinispan-dev mailing list
>>>>> infinispan-dev(a)lists.jboss.org
>>>>>
https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>>> --
>>>> Manik Surtani
>>>> manik(a)jboss.org
>>>>
twitter.com/maniksurtani
>>>>
>>>> Lead, Infinispan
>>>>
http://www.infinispan.org
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>> --
>> Manik Surtani
>> manik(a)jboss.org
>>
twitter.com/maniksurtani
>>
>> Lead, Infinispan
>>
http://www.infinispan.org
>>
>>
>>
>>
>> _______________________________________________
>> 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
>