I have the RTI Shapes Demo running on domain 0, publishing squares on partition A.
I have another instance of the RTI Shapes Demo running on domain 1, subscribing to squares on partition B.
Both applications use QoS profiles defined in a file named qos_library.xml.
Is there a way to setup the routing service so that squares published on domain 0 by the first application are received by the second application on domain 1 (using only the xml configuration for the routing service), without changing the rest of the QoS specified in the qos_library.xml file?
Thanks!
Hello,
Yes this is possible. All you need to do is configure the session that routes the data from Domain 0 to Domain 1 with a SubscriberQos that specifies partition "A" and a PublisherQos that specifies partition "B".
If you create an auto-route from Domain 0 to Domain 1 within this session then the DataReaders (on Domain 0) will subscribe on partition "A" and the DataWriters (on Domain 1) will publish on Domain B.
I have attached a routing service configuration file that does exactly this.
Gerardo
Hello,
Is it possible to explicily block a message or shape from a specific domain or domain partition?
TIA,
Ron
Hi rondawg65 ,
Yes , during routing setvics configuration you have to explicitly specify the domain id during creation of a domain route in routing service. So of you want to ignore any domain then you can do it by not creating the domain route for a specific domain that you need to ignore. Secondly if you want to ignore a partiion within a domain then you should not subscribe the topic from that partition.
Regards
Sarita
I have something similar setup. I have a DDS-1 with two partitions and the second DDS with no partition. When I tried to change the xml to use the wildcard, "*" in the element instead of "B", I I wasn't able to get it to subscribe from the second DDS. Can you provide an example of this? Thanks.
Hello Tan pham
In the attached routing service configuration, I am considering two domain
Domain 1 where you are using two partitions A and B
Doman 2 where you are not specifying partitions
This configuration will route topics from Domain 1 to Domain 2 and vice versa
Regards
KP Singh
Thanks for the sample file. Can you also have a routing service that connects to multiple? For example, DDS 1 connects with DDS 2 and DDS 3. I tried adding another partition in the file but the routing service failed to start.
Just a side note, the file has a missing closing domain_id on line 56.
From the Shape Demo, if DDS 1 publishes Blue Square and DDS 2 is subscribe to the Square, I can see the movement of the shape. However, if DDS 2 also has a Square, then both are display. If I want to replace the topic on DDS 2 with DDS 1, is that possible with the routing service?
Hello Tan pham
Thanks for the correction in the attached file.
a) Routing Service with Connext DDS supports multiple inputs and multiple outputs for a topic route. i.e. DDS1 acting as input and publishing the received sample on DDS2 and DDS3.
b) Transformation support is available on the topic route i.e you can change the data values as well as the data types using transformation and processor.
https://community.rti.com/static/documentation/connext-dds/6.0.0/doc/manuals/routing_service/tutorials.html?highlight=transformation#example-transforming-the-data-s-type-and-topic-with-an-assignment-transformation
c) Adding another partition shall work because partitions are StringSeq in Publisher and Subscriber QoS.
Regards
KP Singh