Re: Using ServiceStarter to launch a "proxy is service" service
Dennis Reedy <[email protected]>
| Newsgroups | gmane.comp.java.sun.jini |
|---|---|
| Message-ID | <[email protected]> |
>> >> For me, this should be a configuration issue. There is one >> predominate >> issue >> with service lookup which makes it difficult to do this. The >> issue is that >> service discovery through multicast has no avenue for injecting >> different >> LookupDiscovery or for unicast LookupLocatorDiscovery >> implementations, >> short of >> very specific Configuration design. If you really have the need, >> then I >> think >> it can be done, just thinking about it. >> >> There would be multiple places where you'd create some static >> Hashtables >> that >> would be inside of classes that would need to be loaded from the same >> classloader. >> > > I'm not sure this is necessary......or even appropriate? Here's what > I'm thinking: > > If we want services co-located such that they avoid RMI overhead > (although I'd like to see a benchmark to prove we really need to do > this) then the only real option I can think of is for all these > services > to run inside of one JVM and use Bob's experimental endpoints. > > [ Even if you choose not to use those experimental endpoints, if all > these services aren't located within a single JVM you'll need to use > some nasty inter-process comms between JVM's to make it work, > bleuch. ] > > Multicast/lookup locators would then discover as usual albeit that you > wouldn't want remote users finding these strictly local services. > Unless you want to aggregate endpoints (also in Bobs experimental > endpoints package) with one in-memory and one TCP. > > Thoughts? Just thought I'd mention the following: An extension to this line of thinking is consistent with some of the work done in Rio related to associations. Associations are about declaring what services are used or required by another service. The discovery is done for the service developer, and IoC is used to inject service proxies. Association types can take the following forms: uses, requires, colocated and opposed. If a service declares a colocated association to another service Rio will guarantee that the services end up in the same cybernode (container). The dependency injection is accomplished without the need for discovery, and the service uses the proxy that the associated service created (no inter-vm optimization at this point). I think it would be fairly straightforward to produce some benchmarks showing colocated vs remote invocations, intermingling Bob's experimental endpoints package if interested. Regards Dennis -------------------------------------------------------------------------- Getting Started: http://www.jini.org/wiki/Category:Getting_Started Community Web Site: http://jini.org jini-users Archive: http://archives.java.sun.com/archives/jini-users.html Unsubscribing: email "signoff JINI-USERS" to [email protected]