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
|