[jboss-dev] Public IP address used by JBoss AS

Brian Stansberry brian.stansberry at redhat.com
Wed May 26 14:07:08 EDT 2010


On 05/26/2010 12:53 PM, Andrew Lee Rubinger wrote:
>
>
> On 05/26/2010 01:45 PM, Brian Stansberry wrote:
>> On 05/26/2010 11:43 AM, Andrew Lee Rubinger wrote:
>>> On 05/26/2010 12:09 PM, Bela Ban wrote:
>>>> Brian Stansberry wrote:
>>>>> IMO we would *not* allow these values as a general configuration
>>>>> option, e.g. in a -jboss-beans.xml:
>>>>>
>>>>> <!-- Not supported -->
>>>>> <property name="bindAddress">PUBLIC</property>
>>>>
>>>> -100 IMO: a user may want to define an address based on some criteria,
>>>> so the above makes perfect sense ! I can even envisage that we support
>>>> something like this later:
>>>>
>>>> <property name="bindAddress">192.168.*,274.2.*,SITE_LOCAL</property>,
>>>>
>>>> which means that we should try to pick a site local address starting
>>>> with 192.168, if not found a global IP address starting with 274.*, and
>>>> if still not found, go and grab any site local address.
>>>>
>>>> All of this logic can be centralized (in JGroups it is in 1 place) and
>>>> used everywhere.
>>>
>>> If we put the resolution logic inside of jboss-bootstrap, any MC
>>> component can @Inject or<inject> the JBossASConfiguration and do
>>> getBindAddress() (even if the input was something like "PUBLIC"). The
>>> configuration initialization phase would resolve before the server
>>> comes up.
>>>
>>
>> If the goal is fine grained configuring what type of interface an
>> interface uses, then the closest mapping to:
>>
>> <property name="bindAddress">PUBLIC</property>
>>
>> is
>>
>> <property name="bindAddress"><inject bean="JBossASConfiguration"
>> property="publicAddress"/></property>
>>
>> So that implies new properties in JBossASConfiguration.
>
> Is that true?
>
> Why not allow input of bindAddress=="PUBLIC", which may resolve to
> 201.23.2.100 within the same property? Do we need to hang on to the
> inputs or just resolve them to a real jboss.bind.address? So then it'd be:
>
> <property name="bindAddress"><inject bean="JBossASConfiguration"
> property="bindAddress"/></property>
>
> ...which we already have.
>

That leaves you with only one address. It doesn't support the equivalent 
of the following for some service or combination of services:

<property name="externalAddress">PUBLIC</property>

<property name="intraClusterAddress">SITE_LOCAL</property>

The need for that kind of flexibility is the argument for being able to 
resolve PUBLIC et al at any injection point.

>
>>
>> Since this is really an API discussion, I'd still like to hear more
>> about what the real world use cases are. I get the one where a server
>> listens on interface X for external requests and uses interface Y for
>> internal to the cluster traffic. I can dream up others. What other ones
>> are actually used?
>>
>


-- 
Brian Stansberry
Lead, AS Clustering
JBoss by Red Hat



More information about the jboss-development mailing list