On Mar 2, 2011, at 11:26 PM, Olaf Bergner wrote:
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?
Luca Stancapiano has been working on creating an OSGI bundle for Infinispan -
https://issues.jboss.org/browse/ISPN-800
You might wanna ping him to see how's he progressing? Or Luca, if you're reading
the list you could share some status with us :)
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?
Two different implementations makes sense, they have different requirements.
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?
Things like JMX switches, clustering modes and locking settings are some of the things
that are tweaked most often, so you'd want to start with those IMO.
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
>>
_______________________________________________
infinispan-dev mailing list
infinispan-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache