Description of problem:
If EAP 5 was started with a bind address that contains a hyphen such as my-server.com, the JBoss Web connectors are not discovered.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Start EAP 5 using a bind address that contains a hyphen:
./run.sh -c all -b my-server.com &
To simulate this, update the /etc/hosts file to point my-server.com at 127.0.0.1.
2. Start JBoss ON system.
3. Import EAP server into inventory.
4. Wait for service discovery to complete.
No connectors appear under the EAP 5 server's JBoss Web / Connectors auto-group (EAP my-server.com:1099 all / Resources / JBoss Web / Connectors)
The http and ajp connectors should appear under the EAP 5 server's JBoss Web / Connectors auto-group (EAP my-server.com:1099 all / Resources / JBoss Web / Connectors / ( ajp://my-server.com%2F127.0.0.1:8009 | http://my-server.com%2F127.0.0.1:8080 )
This issue is due to a bad regular expression that assumes that the hyphen represents the delimiter between protocol, address, and port. It does not take into consideration that hyphen is a valid character in a host/domain name as per the RFC.
Fixed in master
Author: Thomas Segismont <email@example.com>
Date: Wed Aug 7 18:53:44 2013 +0200
Simplified the regular expression matching connector components.
Side fix: servers started with -b [hostname] instead of -b [ip address] have connector with composed names: (myserver.com%2F127.0.0.1). It was not taken into account when trying to find the thread pool associated with it (in order to collect thread pool metrics).
Tested with EAP 5.1.2 and 5.2.0
Verified with JON 3.2.0.ER3 and EAP 5.2.0
- I see now the connectors (as ajp://127.0.0.1:8009 and http://127.0.0.1:8080)