river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter <j...@zeus.net.au>
Subject Re: LookupLocator
Date Wed, 14 Nov 2012 00:05:05 GMT
Hi Greg,

LookupLocatorDiscovery uses LookupLocator to find a Registrar, however it only uses the host
name and port, it doesn't use LookupLocator to perform discovery.

LookupLocator requires a defined static port, otherwise 4160 is used if no port is defined.

Recently a SocketFactory was added to LookupLocator, however this is only used by the obsolete
version 1 discovery in LookupLocator and not by LookupLocatorDiscovery.

LookupLocator is also Serializable, but it's constructed with multicast discovery where the
SocketFactory cannot be transferred.

It seems we'd be better off using URI, in fact when LookupLocator is constructed, it uses
URI to assist parsing the host name and port.

Instead of mandating Socket we could consider using a jeri Endpoint.

A URI scheme provider could be used for plugging in different schemes to obtain the Endpoint.

This might allow the use of maven provisioning or similar to obtain an unknown scheme or Endpoint.

This would allow plugging in dns-srv URI's and other unknown future protocols for obtaining
a registrar proxy.

A default jini://host:port provider can be supplied for backward compatibility.

Thoughts?

Peter.
 

----- Original message -----
>
> On Tue, 2012-11-13 at 08:31, Peter Firmstone wrote:
> > Presently LookupLocator is practically a URI of the form
> > "jini://hostname:port"
> >
> > LookupLocator is constructed during multicast discovery at the client.
> >
> > ConstrainableLookupLocator is a subclass that implements constraints.
> >
> > LookupLocatorDiscovery also accepts LookupLocator to perform unicast
> > discovery using constraints.
> >
> > We modified LookupLocator to accept a SocketFactory via a constructor
> > (approx 2 years ago).
> >
> > LookupLocator is built around tcp, but there are obviously many protocols.
> >
> > Any ideas?
>
> I'm not sure I understand the question.  Is there a problem with
> LookupLocator?
>
> Cheers,
>
> Greg.
>
> >
> > Oh I found a bug in LookupLocator on ARM btw:
> >
> > Seems to be something wrong with the parser, dropping the port number,
> > getting closer to fixing it at least now I know why port 4160 is always
> > in use ;).
> >
> > BaseQATest.startInitLookups FINE:  initial lookups started != initial lookups
> > wanted BaseQATest.startInitLookups FINE:  initial lookups started --
> > BaseQATest.displayLookupStartInfo FINE:      # of lookups = 3
> > BaseQATest.displayLookupStartInfo FINE:          locator lookup[0] =
> > ConstrainableLookupLocator[[jini://je-cal-12.apache.org:37955/], [null]]
> > GroupsUtil.displayGroupSet FINE:              group[0] =
> > LLDGroup0_A_je-cal-12_1352811309324 GroupsUtil.displayGroupSet FINE:       
   
> > group[1] = LLDGroup0_B_je-cal-12_1352811309324 GroupsUtil.displayGroupSet
> > FINE:              group[2] = LLDGroup0_C_je-cal-12_1352811309324
> > BaseQATest.displayLookupStartInfo FINE:          locator lookup[1] =
> > ConstrainableLookupLocator[[jini://je-cal-12.apache.org:49744/], [null]]
> > GroupsUtil.displayGroupSet FINE:              group[0] =
> > LLDGroup1_A_je-cal-12_1352811309324 GroupsUtil.displayGroupSet FINE:       
   
> > group[1] = LLDGroup1_B_je-cal-12_1352811309324 GroupsUtil.displayGroupSet
> > FINE:              group[2] = LLDGroup1_C_je-cal-12_1352811309324
> > GroupsUtil.displayGroupSet FINE:              group[3] =
> > LLDGroup1_D_je-cal-12_1352811309324 BaseQATest.displayLookupStartInfo FINE:   
> >    locator lookup[2] =
> > ConstrainableLookupLocator[[jini://je-cal-12.apache.org:57373/], [null]]
> > GroupsUtil.displayGroupSet FINE:              group[0] =
> > LLDGroup2_A_je-cal-12_1352811309324 GroupsUtil.displayGroupSet FINE:       
   
> > group[1] = LLDGroup2_B_je-cal-12_1352811309324 GroupsUtil.displayGroupSet
> > FINE:              group[2] = LLDGroup2_C_je-cal-12_1352811309324
> > BaseQATest.startInitLookups FINE:  initial lookups wanted --
> > BaseQATest.displayLookupStartInfo FINE:      # of lookups = 3
> > BaseQATest.displayLookupStartInfo FINE:          locator lookup[0] =
> > ConstrainableLookupLocator[[jini://je-cal-12.apache.org:4160/], [null]]
> > GroupsUtil.displayGroupSet FINE:              group[0] =
> > LLDGroup0_A_je-cal-12_1352811309324 GroupsUtil.displayGroupSet FINE:       
   
> > group[1] = LLDGroup0_B_je-cal-12_1352811309324 GroupsUtil.displayGroupSet
> > FINE:              group[2] = LLDGroup0_C_je-cal-12_1352811309324
> > BaseQATest.displayLookupStartInfo FINE:          locator lookup[1] =
> > ConstrainableLookupLocator[[jini://je-cal-12.apache.org:4160/], [null]]
> > GroupsUtil.displayGroupSet FINE:              group[0] =
> > LLDGroup1_A_je-cal-12_1352811309324 GroupsUtil.displayGroupSet FINE:       
   
> > group[1] = LLDGroup1_B_je-cal-12_1352811309324 GroupsUtil.displayGroupSet
> > FINE:              group[2] = LLDGroup1_C_je-cal-12_1352811309324
> > GroupsUtil.displayGroupSet FINE:              group[3] =
> > LLDGroup1_D_je-cal-12_1352811309324 BaseQATest.displayLookupStartInfo FINE:   
> >    locator lookup[2] =
> > ConstrainableLookupLocator[[jini://je-cal-12.apache.org:4160/], [null]]
> > GroupsUtil.displayGroupSet FINE:              group[0] =
> > LLDGroup2_A_je-cal-12_1352811309324 GroupsUtil.displayGroupSet FINE:       
   
> > group[1] = LLDGroup2_B_je-cal-12_1352811309324 GroupsUtil.displayGroupSet
> > FINE:              group[2] = LLDGroup2_C_je-cal-12_1352811309324
> > BaseQATest.tearDown FINE:  tearDown - terminating lookup service(s)
> >
> >
> >
> >
> >
>


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