Is there any LRA Co-ordinator configuration documentation?

309 views
Skip to first unread message

Jason Yong

unread,
Apr 17, 2020, 6:32:30 AM4/17/20
to narayana-users
Hi,

I'm trying to find any documentation or information on how you can configure the LRA Co-Ordinator but not having much luck. Does anyone have any suggestions on where to start?

The current issue I'm looking at is the Co-ordinator is listening on http://localhost:8080/lra-coordinator for any participant calls but is it possible to configure that to be on a different host and port?

Thanks

Jason

Ondra Chaloupka

unread,
Apr 17, 2020, 6:49:48 AM4/17/20
to narayan...@googlegroups.com
Hi Jason,

the documentation for the LRA coordinator is still a bit sparse but in progress. Currently some points could be found in the Narayana quickstarts under https://github.com/jbosstm/quickstart/tree/master/rts/lra and https://github.com/jbosstm/quickstart/tree/master/rts/lra-examples.

Narayana currently provides 3 deployments types. Deployment the coordinator as an app under Java EE container (e.g. to WildFly), running container as standalone Thorntail-based application and as standalone Quarkus application.
The Thorntail version is deprecated, not recommended to be used and probably removed soon.

I assume you use the Quarkus runtime. Then there is used usual ways for Quarkus app to define http host and port is configured.
For the coordinator it is like
java -Dquarkus.http.host=0.0.0.0 -Dquarkus.http.port=8088 -jar lra-coordinator-runner.jar

Ondra

Jason Yong

unread,
Apr 17, 2020, 8:15:39 AM4/17/20
to narayana-users
Hi Ondra,

I'm actually trying to run the LRA Co-ordinator within the Open Liberty runtime. As Quarkus can set the host and port for the co-ordinator I assume that means that it would be possible to do the same with Open Liberty and its just a matter of finding the correct configuration to set for LRA?

Michael Musgrove

unread,
Apr 17, 2020, 8:58:18 AM4/17/20
to narayana-users
The coordinator is a JAX-RS resource which you deploy to a JAX-RS container. Therefore the host and port are determined by how you start your container. For example if you are using a thorntail container you can set the port via a system property with the name thorntail.http.port. Similarly for other containers. For example, our LRA quickstarts use this container and configure the port. We also have a quarkus pull request ready and you would configure the port using a quarkus specific property quarkus.http.port etc.

The coordinator is still in development but we will be releasing a spec compliant version as soon after the last two issues on the MicrProfile LRA 1.0 issue list are resolved. When we release this version of the narayana implementation of the LRA spec we would update our docs guides to include a section on how to use LRA.

Michael Musgrove

unread,
Apr 17, 2020, 9:02:20 AM4/17/20
to narayana-users
Our proposed quarkus extension does contain properties for the coordinator host and port but those are for the LRA participant component. We have a JAX-RS filter for participants and that filter needs to contact a coordinator which is responsible for managing the lifecycle of an LRA and these properties are to tell the filter where such an external coordinator resides. The property values default to an embedded coordinator which runs locally with a participant microservice.

Ondra Chaloupka

unread,
Apr 20, 2020, 4:08:24 AM4/20/20
to narayana-users
Hi Jason,

please check the technical details provided by Mike.
In the direct response to you question, I would say that as the coordinator is a standard JAX-RS resource it's the matter of the Open Liberty configuration to define the host and port where the container is started and how it handles the JAX-RS resources inside.

Ondra

Jason Yong

unread,
Apr 20, 2020, 8:55:31 AM4/20/20
to narayana-users
Hi,

Just to make sure I'm understanding correctly... As the co-ordinator is deployed to a JAX-RS container we can set the what it is listening on based on the runtime you are using. On the participant side there are properties that tell the participant where the co-ordinator is (-Dlra.http.host, -Dlra.http.port)

Can the communication between co-ordinator and participant be secured?  

Michael Musgrove

unread,
Apr 20, 2020, 9:51:00 AM4/20/20
to narayana-users
That is correct.
Reply all
Reply to author
Forward
0 new messages