-
Notifications
You must be signed in to change notification settings - Fork 4
Single node and cluster configuration reference
Following are the different configuration files and their meaning in the different deployment scenarios (solo server and clustering).
By default for a Single Rayo Server scenario you should not need to touch any file. However here is the configuration file semantics for your reference or just in case you need to tweak anything.
Filename | Location | Description |
---|---|---|
xmpp.xml | WEB-INF | Defines XMPP Server domains. Each of the "xmpp:servdomain" entries defines domains and IP addresses that clients can use to send XMPP commands to this Rayo Server. Any messages coming from domains that are not in that list will be ignored by the Rayo Server. |
rayo-xmpp.xml | WEB-INF | Defines different Spring Framework hooks. Commonly you should not need to touch this file. |
rayo-routing.properties | WEB-INF/classes |
Defines routing rules for XMPP messages. Routing rules are defined in Regexp (Java) format. The Rayo Server will use these rules to dispatch the XMPP messages to the client sessions that are connected to the server. So if for example you have a client connected as "usera@localhost" you can add a rule .*=usera@localhost that will forward every XMPP message to that client session. |
On a clustered setup you will have several rayo nodes, one or more rayo gateways and an XMPP server like ejabberd or jabber.org that will act as a proxy. Before trying to configure a Rayo Cluster you should probably have read the Clustering document first.
On each Rayo Node you need to pay attention to these files:
Filename | Location | Description |
---|---|---|
xmpp.xml | WEB-INF |
First. **Defines Rayo init parameters** that will be used when communicating with the Gateway Servlet. The parameters and their values are as follows:
Second. **Defines XMPP Server domains**. Each of the "xmpp:servdomain" entries defines domains and IP addresses that clients can use to send XMPP commands to this Rayo Server. Any messages coming from domains that are not in that list will be ignored by the Rayo Server. |
rayo-xmpp.xml | WEB-INF | Defines different Spring Framework hooks. Commonly you should not need to touch this file. |
rayo-routing.properties | WEB-INF/classes | Not used. A rayo node always forwards its messages to the rayo gateway. |
The Rayo Gateway is a proxy between the Rayo Nodes and the XMPP Server. Following are the relevant configuration files:
Filename | Location | Description |
---|---|---|
xmpp.xml | WEB-INF | **Defines XMPP Server domains**. Each of the "xmpp:servdomain" entries defines domains and IP addresses that both Jabber servers and Rayo Nodes can use to send XMPP commands to this Rayo Server. Any messages coming from domains that are not in this list will be ignored by the Rayo Gateway. So it is important that both Gateway internal and external domains are included on this list. |
external-domains.properties | WEB-INF | Defines the list of external domains that this Rayo Gateway is listening to. The first entry on this list is the domain name that the Gateway will use when sending messages to Client Applications. |
internal-domains.properties | WEB-INF | Defines the list of internal domains that this Rayo Gateway is listening to. The first entry on this list is the domain name that the Gateway will use when sending messages to Rayo Nodes. |
rayo-routing.properties | WEB-INF/classes |
Defines routing rules for XMPP messages. Routing rules are defined in Regexp (Java) format. The Rayo Gateway will use these rules to dispatch the XMPP messages to the client Jabber sessions that are connected to the server. So if for example you have a client connected as "mpermar@go.rayo.org" you can add a rule .*456754567.*=mpermar@go.rayo.org that will forward every XMPP message coming from an address with the code 456754567 (which could be an app code) to the Jabber session associated with mpermar@go.rayo.org |