decouple TransactionStatusManager from SocketProcessId
------------------------------------------------------
Key: JBTM-348
URL:
http://jira.jboss.com/jira/browse/JBTM-348
Project: JBoss Transaction Manager
Issue Type: Task
Security Level: Public(Everyone can see)
Components: Recovery
Affects Versions: 4.3.0.GA
Reporter: Jonathan Halliday
Assigned To: Michael Musgrove
Fix For: 4.4.CR1
The TransactionStatusManager resuses the ServerSocket opened by SocketProcessId, in an
effort to reduce the overall number of ports in use by the system. SocketProcessId needs
the socket only to guarantee it's uniq, it does not actually move traffic over it.
TransactionStatusManager uses it to handle queries regarding the status of in-flight
transactions.
The problems start when the box has multiple IP addresses. SocketProcessId must bind on
a fixed IP (probably 127.0.0.1) common to all JBossTS instances on the machine, in order
that the port number remains uniq across all running JVMs. The TransactionStatusManager
however must bind on a user specified IP in order that multiple instances may run on the
same machine without interference.
Thus it is not appropriate for TransactionStatusManager to reuse the
SocketProcessId's ServerSocket. Decouple these, such that TransactionStatusManager
reads its config properties and opens a ServerSocket directly, whilst SocketProcessId
reads a different config property for its port number rather than reusing the TSM's
config property.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: