I believe you are referring to the "external_addr" configuration
property available for JGroups transport protocols:
I didn't follow the development of that feature in detail, but I assume
the way it works is the JGroups discovery protocols advertise the value
of that property if it's configured. Otherwise they advertise the usual
bind_addr.
That's specific to JGroups discovery though. It's not a general purpose
service endpoint publication and discovery thing. I've seen systems like
Kubernetes used for that kind of orchestration.
On 9/2/15 8:23 AM, Bob McWhirter wrote:
We do support some way to advertise (via jgroups) a different
host/port
than the one that it is actually bound to, right?
I thought we had to add that functionality to support OpenShift, where
the internal IP given to the AS is different than the externally visible
host/port for clustering.
On Wed, Sep 2, 2015 at 10:20 AM, Brian Stansberry
<brian.stansberry(a)redhat.com <mailto:brian.stansberry@redhat.com>> wrote:
On 9/1/15 6:52 PM, Arun Gupta wrote:
>>>> Is this scenario different from running multiple WildFly instances
on a
>>>> single machine in a non-Docker setup?
>>>
>>>
>>> Good point, they are the same.
>>>
>>
>> Reading a bit more, it seems Docker gives each container its own address,
>> visible to the container via the eth0 interface:
>>
>>https://docs.docker.com/articles/networking/
>
> Those IP addresses are not available externally AIU.
>
Ok, I'm getting clear on your scenario. Thanks.
>>> So, if WildFly runs with -b <IP_ADDRESS> then the utility above
will
>>> give the correct address and port?
>>>
>>
>> Yes, assuming IP_ADDRESS != 0.0.0.0, the server config is using a
>> socket-binding named "http" for the web server, and the web
server
>> address/port is the one you want.
>>
>
> ObjectName http = new
>
ObjectName("jboss.as:socket-binding-group=standard-sockets,socket-binding=http");
> hostName = (String)
mBeanServer.getAttribute(http,"boundAddress");
> hostPort = (Integer)
mBeanServer.getAttribute(http,"boundPort");
>
>
> seems to be returning correct HTTP host/port. However
>
> ObjectName https = new
>
ObjectName("jboss.as:socket-binding-group=standard-sockets,socket-binding=https");
> hostSecurePort = (int) mBeanServer.getAttribute(https,
"boundPort");
>
> is throwing NPE.
>
> Will this only be available if HTTPS port is accessible?
>
Those attributes will only be non-null if the https socket-binding is
used by some service (e.g. an undertow listener.) If the configuration
doesn't require the socket binding to be used, then the resolution of
the socket binding's config data to an actual IP address will not occur.
> Arun
>
>
>
--
Brian Stansberry
Senior Principal Software Engineer
JBoss by Red Hat
_______________________________________________
wildfly-dev mailing list
wildfly-dev(a)lists.jboss.org <mailto:wildfly-dev@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/wildfly-dev