[jbossts-issues] [JBoss JIRA] Issue Comment Edited: (JBTM-861) XTS AS7 configuration is incomplete and inadequate for binding/web port other than localhost:8080

Andrew Dinn (JIRA) jira-events at lists.jboss.org
Fri Sep 23 11:53:27 EDT 2011


    [ https://issues.jboss.org/browse/JBTM-861?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12630275#comment-12630275 ] 

Andrew Dinn edited comment on JBTM-861 at 9/23/11 11:53 AM:
------------------------------------------------------------

"Am I right in thinking that this is referring to the coordinator'r bind address rather than the default address that the Client should use to contact it's coordinator?"

No. This is referring to the address that an XTS client uses to contact it's coordinator. When you deploy an XTS client it uses this globally configured property to decide where to send its ActivationCoordinator request (which happens under the client's call to UserTransaction.begin() or UserBusinessActivity.begin()).

The address at which the deployed XTS activation, registration and protocol-specific coordination service endpoints get deployed is essentially determined by JBossWS which, in turn, is at the mercy of JBossWeb. At present it will always be an endpoint locate via localhost:8080. This is not user-configurable as far as XTS is concerned -- the config belongs to JBossWeb settings in standalone.conf or, possibly, the AS7 command line (some option like -b www.foo.org for backwards compatibility with prevous AS releases)

"Basically, you are saying that if no coordinator address and port is specified, in the <xts/> section of the standalone.xml, then localhost:8080 is currently used. The default should be set to whatever address JBoss is bound to as the default address and whatever port JBossWS is running on (secure or normal) as the default port?"

At present if this URL is left unconfigured then the coordinator URL used by the client code is http://localhost:8080/ws-c11/ActivatonCoordinator. This is ok for now but eventually JbossWeb/JBossWS will start endpoints with a configured bind address, web port and secure web port. If nothing is defined in the XTS config then we should use http://<bindaddress>:<webport>/ws-c11/ActivatonCoordinator as the coordinator URL, where the angle bracketed terms need replacing with the values configured for JBossWeb/WS.

However, we should also allow for some halfway config. So, if for example the XTS config specifies <coordinatorScheme>https</coordinatorScheme> then we should use https://<bindaddress>:<securewebport>/ws-c11/ActivatonCoordinator i.e. we should talk to the secure activation coordinator endpoint and, thence, the secure registration and coordination services.

Similarly, if the XTS config additionally specifies <coordinatorHost>foo.bar.org</coordinatorHost> then we should use https://foo.bar.org:<securewebport>/ws-c11/ActivatonCoordinator and similarly substitute whatever values are configured for config elements <coordinatorPort/>, <coordinatorSecurePort/> and <coordinatorPath/>. None of these affect where the local coordinator services are published. They merely control where client requests get dispatched.



      was (Author: adinn):
    "Am I right in thinking that this is referring to the coordinator'r bind address rather than the default address that the Client should use to contact it's coordinator?"

No. This is referring to the address that an XTS client uses to contact it's coordinator. When you deploy an XTS client it uses this globally configured property to decide where to send its ActivationCoordinator request (which happens under the client's call to UserTransaction.begin() or UserBusinessActivity.begin()).

The address at which the deployed XTS activation, registration and protocol-specific coordination service endpoints get deployed is essentially determined by JBossWS which, in turn, is at the mercy of JBossWeb. At present it will always be an endpoint locate via localhost:8080. This is not user-configurable as far as XTS is concerned -- the config belongs to JBossWeb settings in standalone.conf or, possibly, the AS7 command line (some option like -b www.foo.org for backwards compatibility with prevous AS releases)

"Basically, you are saying that if no coordinator address and port is specified, in the <xts/> section of the standalone.xml, then localhost:8080 is currently used. The default should be set to whatever address JBoss is bound to as the default address and whatever port JBossWS is running on (secure or normal) as the default port?"

At present if this URL is left unconfigured then the coordinator URL used by the client code is http://localhost:8080/ws-c11/ActivatonCoordinator. This is ok for now but eventually JbossWeb/JBossWS will start endpoints with a configured bind address, web port and secure web port. If nothing is configured then it should use http://<bindaddress>:<webport>/ws-c11/ActivatonCoordinator where the angle bracketed terms need replacing with the values configured for JBossWeb/WS.

However, we should also allow for some halfway config. So, if for example the XTS config specifies <coordinatorScheme>https</coordinatorScheme> then we should use https://<bindaddress>:<securewebport>/ws-c11/ActivatonCoordinator i.e. we should talk to the secure activation coordinator endpoint and, thence, the secure registration and coordination services.

Similarly, if the XTS config additionally specifies <coordinatorHost>foo.bar.org</coordinatorHost> then we should use https://foo.bar.org:<securewebport>/ws-c11/ActivatonCoordinator and similarly substitute whatever values are configured for config elements <coordinatorPort/>, <coordinatorSecurePort/> and <coordinatorPath/>. None of these affect where the local coordinator services are published. They merely control where client requests get dispatched.


  
> XTS AS7 configuration is incomplete and inadequate for binding/web port other than localhost:8080
> -------------------------------------------------------------------------------------------------
>
>                 Key: JBTM-861
>                 URL: https://issues.jboss.org/browse/JBTM-861
>             Project: JBoss Transaction Manager
>          Issue Type: Feature Request
>      Security Level: Public(Everyone can see) 
>          Components: XTS
>    Affects Versions: 4.15.2
>            Reporter: Andrew Dinn
>            Assignee: Paul Robinson
>             Fix For: 4.15.x, 5.0.0.M2
>
>
> The current integration of XTS into AS7 as an AS7 extension allows optional configuration of the coordinator URL from the <xts/> element in the AS7 standalone configuration file. No other configuration options are currently supported. This is inadequate on two counts.
> Firstly, if no URL is provided the coordinator address is located via localhost:8080 (or localhost:8443 if an https scheme is employed). Similarly, the deployed web services are assumed to have localhost:8080 addresses. The XTS extension ought to depend on JBoss web and use the bind address and ports (non-secure and secure) JBoss web employs.
> Secondly, XTS ought to support more precise configuration. IN particular, it ought to be possible to enable or disable deployment of coordinator, participant or client services independently and also to choose whether to deploy WS-AT or WS-BA services or both. This requires selectively deploying only the required web service endpoints, selectively executing the required initialization routines and selectively loading the required high level service implementations and context factory implementations.
> The XTS implementation has already been factored so as to to support such discriminated bootstrapping. So this task only requires modifying the AS7 extension code to manage the relevant configuration information and install the relevant values into the XTS environment configuration beans before starting the XTS service.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbossts-issues mailing list