On Thu, Nov 22, 2018, 15:30 Raymond Auge <raymond.a...@liferay.com wrote:

> Scott, is that usable in-process, as in no remoting?
>
> - Ray
>
> On Thu, Nov 22, 2018, 14:55 Scott Lewis via osgi-dev <
> osgi-dev@mail.osgi.org wrote:
>
>> On 11/22/2018 8:19 AM, Raymond Auge via osgi-dev wrote:
>>
>> Mohamed, if I understand correctly, what you really need in order to
>> cache method calls are proxies around arbitrary services.
>>
>> First I don't think there's a OOTB solution for your problem description
>> specifically to do method caching.
>>
>> Also, OSGi doesn't natively provide a proxy mechanism.
>>
>> Forgive me if I'm misinterpreting the needs as I haven't read entire
>> thread, but OSGi Remote Service Admin does have a specified service proxing
>> [A].  ECF's implementation of RSA [B] allows one to create/use custom
>> distribution providers that could do method-level caching [B].
>> Distribution providers are typically for across-process proxies, but can be
>> in-process as well.
>>
> Oops, I see you did say that! Cool use case. I'll add that to my magic bag
of tricks 😉

- Ray


Scott
>>
>> [A]
>> https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteserviceadmin.html#i1742961
>>
>> [B] https://wiki.eclipse.org/Eclipse_Communication_Framework_Project
>>
>>
>> In fact, it generally goes out of it's way to avoid needing that kind of
>> indirection. However it does provide a few technologies that give you
>> capabilities to build this. There are also some open source projects that
>> can help with this.
>>
>> In order of depth of integration:
>>
>> *1. framework weaving hooks* [1]
>> PROS
>>      - TRANSPARENT to service providers & consumers
>>      - you can control any bytecode used anywhere in the framework from
>> here
>> CONS
>>     - it can be an intense journey into bytecode manipulation.. if you
>> have the heart for it you can do crazy stuff here, but it won't be trivial
>>     - start ordering will be your biggest foe
>>
>> *2. framework service hooks* [2]
>> PROS
>>      - TRANSPARENT service to providers & consumers
>>      - you can intercept and modify the visibility or accessibility of
>> services before they are gotten by consumers which means you could proxy
>> here
>> CONS
>>      - still pretty low level and high degree of awareness of the OSGi
>> service registry behaviour is required
>>      - start ordering is also a complexity you need to think about
>>
>> 3. *use an injection framework* that supports proxies
>> PROS
>>      - use existing technology do to the heavy lifting (spring, CDI...
>> upcoming spec [3] ... try the RI [4] ..., etc.)
>> CONS
>>    - service to providers need to use the selected framework
>>    - no unobtrusive, transversal configuration
>>
>> 4. *AspecIO* [5]
>> PROS
>>     - TRANSPARENT to providers & consumers
>>     - unobtrusive and transversal configuration
>>     - no start ordering issues? (I think Simon built a solution for this
>> ???)
>> CONS
>>     - start ordering issues? (I think Simon built a solution for this ???)
>>
>> FYI, this is not a pitch for the project because I'm not involved in it
>> at all. I only know that it covers almost all your requirements (which I've
>> extrapolated from between the lines).
>>
>> Hope that helps in some way.
>>
>> - Ray
>>
>> [1]
>> https://osgi.org/specification/osgi.core/7.0.0/framework.weavinghooks.html
>> [2]
>> https://osgi.org/specification/osgi.core/7.0.0/framework.servicehooks.html
>> [3] https://osgi.org/specification/osgi.enterprise/7.0.0/service.cdi.html
>> [4]
>> https://repository.apache.org/content/repositories/snapshots/org/apache/aries/cdi/org.apache.aries.cdi.extender/0.0.2-SNAPSHOT/
>> [5] https://github.com/primeval-io/aspecio
>>
>>
>> On Thu, Nov 22, 2018 at 10:34 AM Mohamed AFIF via osgi-dev <
>> osgi-dev@mail.osgi.org> wrote:
>>
>>> Hi Alain,
>>>
>>> Thanks a lot for sharing  your experience, but as I've seen on
>>> documentation , I'm not sure that infinispan handles cache of methods .
>>>
>>> Regards.
>>>
>>> Mohamed.
>>>
>>>
>>> Le jeu. 22 nov. 2018 à 11:10, Alain Picard <pic...@castortech.com> a
>>> écrit :
>>>
>>>> If it might help, we are in the process of using Infinispan at our end.
>>>> It is OSGi compliant (almost) and for Karaf users (not us yet), it comes
>>>> with features for easy deployment.
>>>>
>>>> Alain
>>>>
>>>>
>>>> On Thu, Nov 22, 2018 at 5:02 AM Mohamed AFIF via osgi-dev <
>>>> osgi-dev@mail.osgi.org> wrote:
>>>>
>>>>> Hello everybody,
>>>>>
>>>>> We need to implement a cache system in our Karaf (Felix) , our need is
>>>>> especially to cache method results, but It’s hard to find a cache solution
>>>>> which is OSGI compliant, Spring can do that but  it’s cache feature can be
>>>>> used only over a spring managed beans, so we ‘re using Blueprint  than the
>>>>> Spring solution could not be used, also spring has some problems to run
>>>>> inside a Kataf, so we’re thanking to use the AOP, with AspectJ, but we
>>>>> should manage by ourself the data synchronization …., Thus I would like to
>>>>> know if some users among this mailing list have already  been  facing this
>>>>> problem and which solution could be better to implement inside a
>>>>> Karaf/Felix,
>>>>>
>>>>>
>>>>>
>>>>> Thank you very much for your help
>>>>>
>>>>>
>>>>>
>>>>> M.AFIF
>>>>>
>>>>> --
>>>>>
>>>>> Cdt
>>>>> Mohamed AFIF
>>>>> _______________________________________________
>>>>> OSGi Developer Mail List
>>>>> osgi-dev@mail.osgi.org
>>>>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>>>>
>>>> _______________________________________________
>>> OSGi Developer Mail List
>>> osgi-dev@mail.osgi.org
>>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>>
>>
>>
>> --
>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
>>  (@rotty3000)
>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
>>  (@Liferay)
>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
>> (@OSGiAlliance)
>>
>> _______________________________________________
>> OSGi Developer Mail 
>> listosgi-...@mail.osgi.orghttps://mail.osgi.org/mailman/listinfo/osgi-dev
>>
>>
>> _______________________________________________
>> OSGi Developer Mail List
>> osgi-dev@mail.osgi.org
>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>
>
_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to