river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michał Kłeczek (XPro Sp. z o. o.)" <michal.klec...@xpro.biz>
Subject Re: OSGi
Date Mon, 23 Jan 2017 21:03:34 GMT
The problem is that we only support (smart) proxies that reference only 
objects of classes from their own code base.
We do not support cases when a (smart) proxy wraps a (smart) proxy of 
another service (annotated with different codebase).

This precludes several scenarios such as for example "dynamic exporters" 
- exporters that are actually smart proxies.


Gregg Wonderly wrote:
> I guess I am not sure then what you are trying to show with your example.
> Under what case would the SpacePublisher be sent to another VM, and how is that different
from normal SmartProxy deserialization?
> Gregg
>> On Jan 23, 2017, at 2:39 PM, Michał Kłeczek (XPro Sp. z o. o.)<michal.kleczek@xpro.biz>
>> Gregg Wonderly wrote:
>>>> michal.kleczek@xpro.biz<mailto:michal.kleczek@xpro.biz>  <mailto:michal.kleczek@xpro.biz>
 <mailto:michal.kleczek@xpro.biz>>  wrote:
>>>>>> The use case and the ultimate test to implement is simple - have
>>>>> listener that publishes remote events to a JavaSpace acquired dynamically
>>>>> from a lookup service:
>>>>>> class SpacePublisher implements RemoteEventListener, Serializable
>>>>>>    private final JavaSpace space;
>>>>>>    public void notify(RemoteEvent evt) {
>>>>>>      space.write(createEntry(evt), ...);
>>>>>>    }
>>>>>> }
>>>>>> It is NOT possible to do currently. It requires non-hierarchical
>>>>> loading. It is not easy to solve. It would open a whole lot of
>>>>> possibilities.
>>>>> I am probably too ignorant to see it; What exactly is "NOT possible"
>>>>> the above use-case snippet?
>>>> With currently implemented PreferredClassProvider it is not possible to deserialize
such an object graph.
>>> This can happen, but what’s necessary is that the codebase of the SpacePublisher
needs to include all the possible RemoteEvent classes, or the javaspace’s classpath has
to include them.
>> I am not sure I understand.
>> The problem does not have anything to do with RemoteEvent (sub)classes. The issue
is that SpacePublisher cannot be deserialized at all ( except one case when JavaSpace interface
is available from context class loader and it is not marked as preferred in SpacePublisher
code base).
>> Michal

  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message