On Sep 28, 2010, at 2:51 PM, David Blevins wrote:

> 
> On Sep 28, 2010, at 7:26 AM, Andy wrote:
> 
>> On 28.09.2010 13:07, Kevan Miller wrote:
>>> On Sep 22, 2010, at 8:53 AM, Rick McGuire wrote:
>>> 
>>>> The axis2 and activemq releases that we've been waiting on for a 2.2.1 
>>>> Geronimo server release are finally available, but I didn't realize that 
>>>> the 2.2 branch was still building with the 3.1.3-SNAPSHOT version of 
>>>> openejb3.  Is that branch ready to be released and can it be released 
>>>> soon?  I'd like to get the server release voting started by the end of 
>>>> next week, if I can.
>>> I created a 2.2.x Geronimo Jira, yesterday, which will have OpenEJB 
>>> implications. If the server socket bind ip address is 0.0.0.0, we'll 
>>> advertise the server's ip address as 0.0.0.0 to any multicast discovery 
>>> clients. We'll need to support a separate "remote" ip address (separate 
>>> from the server socket ip address).
>>> 
>>> --kevan
>>> 
>> +1
>> 
>> Any multicast architecture should be sending/advertising 'all' IP-addresses 
>> and host-names of the server if bind is set to 0.0.0.0, clients can then 
>> loop through the list and keep track of successful connections - With a 
>> preference for host name connections rather than IP. Currently the config 
>> files need to be manually edited to contain the public IP address. In fact, 
>> 'discovery' should be a list rather than a single value - For supporting a 
>> multi-homed machines.
> 
> That would be nice.
> 
>> The server should be making a best guess ordered 'discovery' list of it's 
>> own public addresses for all network cards on start-up. When a multicast 
>> client gets this list then it should see if it's own host-name is in this 
>> list, and if it is then first attempt to use localhost. The 'discovery' 
>> parameter should act as an override if specified.
> 
> Yep. Looks like on the Geronimo side we're missing the 'discovery' property 
> in Geronimo's EjbDaemonGBean.  Here is what that defaults to currently:
> 
>  
> server/openejb-ejbd/src/main/resources/META-INF/org.apache.openejb.server.ServerService/ejbd
> 
> Specifying that solves the problem.  

Thanks. That would do. Though personally, would rather not be constructing the 
urls for OpenEJB. Something like this would be better:

ejbd:

bind                   = 127.0.0.1
discoveryHost = {bind}
discovery         = ejb:ejbd://{discoveryHost}:{port}

--kevan

> 
> A nice improvement might be to, on the OpenEJB side, look specifically for 
> 0.0.0.0 in the URI and auto-expand it.  We could do the same if the port is 
> 0, so a URI like "ejb:ejbd://0.0.0.0:0" would still work.  In a real world 
> scenario that might even be very attractive since in a true discovery 
> scenario you don't care about the host/port, you really just want your server 
> online with any available port.

I don't recall a clean way of doing that in Java, but admittedly haven't looked 
at the general issue for a *long* time... Pre-java 1.4, I think... Making this 
potentially dynamic and automatic would be nice...

--kevan

Reply via email to