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