[jbossts-issues] [JBoss JIRA] Updated: (JBTM-324) Enable Setting Port with com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort

Thomas Krieger (JIRA) jira-events at lists.jboss.org
Thu Jan 31 10:56:59 EST 2008


     [ http://jira.jboss.com/jira/browse/JBTM-324?page=all ]

Thomas Krieger updated JBTM-324:
--------------------------------

    Attachment: RecoveryManagerImple.java
                TransactionStatusManager.java

As described the two classes which had to be changed.

> Enable Setting Port with com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort
> ------------------------------------------------------------------------------------
>
>                 Key: JBTM-324
>                 URL: http://jira.jboss.com/jira/browse/JBTM-324
>             Project: JBoss Transaction Manager
>          Issue Type: Patch
>      Security Level: Public(Everyone can see) 
>          Components: Recovery
>    Affects Versions: 4.2.3.SP5
>            Reporter: Thomas Krieger
>         Attachments: RecoveryManagerImple.java, TransactionStatusManager.java
>
>
> If you set      
> <property name="com.arjuna.ats.internal.arjuna.recovery.recoveryPort"    value="1213"/> 
> <property name="com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort" value="1214"/>
> you get the following Exception:
> com.arjuna.ats.arjuna.exceptions.FatalError: [com.arjuna.ats.internal.arjuna.utils.SocketProcessId_2] - SocketProcessId.getpid could not get unique port.
>         at com.arjuna.ats.internal.arjuna.utils.SocketProcessId.getpid(SocketProcessId.java:122)
>         at com.arjuna.ats.arjuna.utils.Utility.getpid(Utility.java:206)
>         at com.arjuna.ats.arjuna.common.Uid.<init>(Uid.java:105)
>         at com.arjuna.ats.arjuna.utils.Utility.getProcessUid(Utility.java:218)
>         at com.arjuna.ats.internal.arjuna.recovery.TransactionStatusManagerItem.<init>(TransactionStatusManagerItem.java:323)
>         at com.arjuna.ats.internal.arjuna.recovery.TransactionStatusManagerItem.createAndSave(TransactionStatusManagerItem.java:71)
>         at com.arjuna.ats.arjuna.recovery.TransactionStatusManager.start(TransactionStatusManager.java:157)
>         at com.arjuna.ats.arjuna.recovery.TransactionStatusManager.<init>(TransactionStatusManager.java:78)
>         at com.arjuna.ats.arjuna.coordinator.TxControl.<clinit>(TxControl.java:312)
>         at com.arjuna.ats.jbossatx.jta.TransactionManagerService.startService(TransactionManagerService.java:139)
> The first problem is that in TransactionStatusManager calling ServerSocket socket = SocketProcessId.getSocket(); returns null, so that a new 
> ServerSocket is created in TransactionStatusManager  getTsmServerSocket (int port)  (line 218)
> The solution is, to call (new SocketProcessId()).getpid(); in the constructor.
> The second problem is that RecoveryManagerImple.activeRecoveryManager uses the wrong port (line 197):
> SocketProcessId uses Property com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort and not com.arjuna.ats.internal.arjuna.recovery.recoveryPort.
> Solution is to change activeRecoveryManager ().
> Thomas Krieger
> for P&I Team Tess (Ralph-Rainer Welzel, Andreas Rugullies ...) 
>  
>  
> 	

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jbossts-issues mailing list