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,

ok...that is an easy one :-). There is no remote or distributed aspect in using extensions. Maybe Stefan Liebig one of our comitters can elaborate on this. But as in the current state we never thought about using Extensions remotly because they are more a local aspect of an application. The configure either properties and settings or you can define a Java class that you can instantiate. This model does not work that well for remoting it.

So I guess what I am saying is you can only using OSGi Services in Riena for Remoting. The Extension Injector is something we built for injecting extensions and make them as easy to use as you can do with services but extensions are not remote. They were not planned to be used remotely. We discovered some bugs in the Extension Injector for more complex extension schemas which will be fixed in the next milestone. But obviously you never came across them.

hope that helps

christian campo
Am 13.08.2008 um 16:10 schrieb Stefan Diener:


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