Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [riena-dev] Extension injection

Hi Stefan,

As Christian already said there is no ´remote´ ExtensionRegistry within Riena
and we had never thought about something like that. And I think that having
such a ´remote´ ExtensionRegistry has a least one implication that is hard to fulfill.
As you probably know the ExtensionRegistry API allows to ask for the ´contributing
bundle´ of an extension. This e.g. is necessary to load resources (icons, ..)or classes
from the contributing bundle. As a consequence it would be necessary to have
something like a ´remote bundle´. And for me that sounds like opening Pandora´s
box.
However, I am very interested in what kind of problem you are trying to solve.
Your description is quite abstract. Can you elaborate on that?

Tschüß,
Stefan
 
Stefan Diener wrote:

Hi, Riena developers,

I'm planning to use Riena for an distributed RCP application. Therefore I
examined the PingPong example and Inject.service(...) for the service binding.
This worked out very well for me, but as I started to examine
Inject.extension(...) things went hopeless.

I have defined an extension point in a common plug-in. The contributor plug-in
provides an extension for the extension point. The contributor plug-in depends
on the common plug-in. Both plug-ins run inside an Equinox based application.

The consumer plug-in uses Inject.extension(...) to get notified when there is
any extension for the specific extension point. The consumer plug-in depends
on the common plug-in too. Both plug-ins run inside another Equinox based
application.

The problem is that the consumer plug-in is never notified about the extension
of the contribution plug-in. I'm not sure what happens here, but from my point
of view there is no "remote" extension registry. For the services, there is the
RemoteServiceFactory that registers remote services. But is there anything
analogous for the extension registry?

Using services as remote services is a very good thing, but using the extension
registry and its mechanisms would be much better when developing an distributed
RCP application. So this question is very fundamental for me. Is there a kind
of "remote" extension registry? If so, how can I use it to access remote
extensions for any extension point?

Note: When running all 3 plug-ins inside the same Equinox based application,
everything is fine and the consumer gets notified about the contributor's
extension. There is a local extension registry only and that's sufficient in
this case. But it's not distributed any more...

However, maybe there's an easy and obvious solution that I don't know.
Any help is appreciated!

Thanks,
Stefan

--
Registergericht / Register court: Amtsgericht Traunstein, HRA 460 / local court Traunstein, certificate of registration no. 460
Geschäftsführender persönlich haftender Gesellschafter / Personally liable managing partner: Prof. Dr. Dr. h.c. Anton Kathrein, Dipl.-Betriebswirt (MBA-equivalent)
Erfüllungsort und Gerichtsstand / Place of performance and place of jurisdiction: Rosenheim

This e-mail is confidential and may contain privileged information. If you have received this communication in error, please notify us immediately by responding to this email and then delete it from your system. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. We believe but do not warrant that this e-mail and any attachments are virus free. You must therefore take full responsibility for virus checking.

_______________________________________________ riena-dev mailing list riena-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/riena-dev


Back to the top