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

Andrew Lee Rubinger andrew.rubinger at redhat.com
Wed May 26 14:09:02 EDT 2010



On 05/26/2010 02:07 PM, Brian Stansberry wrote:
> 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.

Ah OK.

Yeah, we'd need some API additions then.  I'm looking forward to AS7 and 
the Domain model; these bootstrap config props are currently a minimal 
subset of everything available.  Eventually they'll fade into the 
domain, and the bootstrap props can be used for just that.

S,
ALR

>
>>
>>>
>>> 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?
>>>
>>
>
>

-- 
Andrew Lee Rubinger
Sr. Software Engineer
JBoss by Red Hat
http://exitcondition.alrubinger.com
http://twitter.com/ALRubinger



More information about the jboss-development mailing list