-
Bug
-
Resolution: Fixed
-
Major
-
1.8
-
None
-
Magnolia 6.2, local RMQ, macOS
Steps to reproduce
- Install and configure the module (as in the example configuration: https://docs.magnolia-cms.com/magnolia-rabbitmq/rmq-setup-example.html)
- Set improper server public key (/server/activation@publicKey) on the public instance
- Publish a new/updated page
- Observe author instance logs
- Set the proper server public key (/server/activation@publicKey) on the public instance
- Publish the second new/updated page
- Observe author instance logs
Expected results
No errors, the first page is marked as not published and the second page is marked as publishedÂ
Actual results
Publisher instance errors. Both pages are not marked as published
Workaround
The custom class which inherit from ConfirmationConsumer class with bugfix
Cause
(based on decompiled source, line numbers may be wrong)
In ConfirmationConsumer class on line 80 you callÂ
ackMap.keys();
which, when ackMap is null, throws NullPointerException. I suggest changing it to:
if(ackMap != null) { Iterator<String> keysIt = ackMap.keys(); if (keysIt.hasNext()) { ...
(see attached screens for more detailed info)
ackMap is null when message body is '[]', which is ok-ish when public instance exception thrown
Acceptance criteria