Using DDS Profiler of IBM Rational Rhapsody 8.1.1 & connext 5.2.0 on RHEL 6.4 on intel 64 bit machine,following steps done.
1. A subscriber (entity factory= disabled) is created listening on
partition 'DDS.SIM'.
2. Then partition is changed to 'DDS.COM' and subscriber is enabled.
3. Now topic is published on 'DDS.COM'.
4. Listener callback (on data available) is not being executed.
5. Plz explain.
6. The model is attached herewith for reference.
Attachment | Size |
---|---|
reader listner not working | 11.39 KB |
Hi,
This is a known issue (CORE-5827). There is a bug in the logic and if you try to change partitions a second time while the DataReader is still disabled it does not work unless you also set the DataReaderQos explicitly after that. Alternatively you can change partitions after the DataReader is enabled; that works correctly if you did not change the partition a second time with the DataReader disabled.
You can see this in the attached programs. The NewType_publisher is publising op partition "DDS.COM". The NewType_subscriber sets the Subscriber Qos autoenable_created_entities = false and the partition to "DDS.SIM". Then it switches partitions to "DDS.COM" and get/sets the DataReader Qos. With this sequence it all works as expected.
Alternatively if you comment out the code that changes partiions and get/sets the DataReader Qos prior to the enable() and uncomment the change of partitions after the enable() that sequence also works as expected.
Apologies for the inconvenience hopefully we can get it fixed in an upcoming release.
Gerardo