we have been using Openfire for several years and are generally fond of the monitoring plugin, recently our company started using XEP-0203 delayed delivery, but we found that on the occasions when a message gets delivered more than once due to delay resends the monitoring plugin registers the delay stanzas as separate messages.
Whereas it would seem more appropriate to check the contained message stanza and forego saving if the message is already present in the database with the same data.
This could also be done by checking the passed message id of course.
given the query:
select from ofMessageArchive where body LIKE 'prova2'\G
I get these results:
mysql> select _ from ofMessageArchive where body LIKE ‘prova2’\G **_ 1. row * messageID: 11 conversationID: 4 fromJID: exampleSender@server.com fromJIDResource: 7fia6mub8l toJID: exampleRecipient@server.com toJIDResource: NULL sentDate: 1500990939036 stanza: prova2 body: prova2 * 2. row * messageID: 13 conversationID: 4 fromJID: exampleSender@server.com fromJIDResource: 7fia6mub8l toJID: exampleRecipient@server.com toJIDResource: NULL sentDate: 1500990952939 stanza: prova2 body: prova2 2 rows in set (0.00 sec)
The plugin also registers exact duplicate messages on occasion (Probably due to misinterpreting forwarded messages (XEP 0198).
On a separate note, I understand the need to bundle, but it would be a lot easier to customize/rebuild said plugin if it belonged to a separate repository, nor is there any easy way to check that if I am running Openfire 4.0.4 I would have to use version 1.53? 1.54 unless I checkout the entire project at the openfire version tag.
Or is there a separate recommended approach?
As a last request, would it be possible to make the DB persistence task schedule customizable? There is no reason to keep at a minute on lightly loaded servers and heavily loaded servers get stuck with it.
Thanks in advance and I look forward to your input,
Edited due to formatting issues Messaggio modificato da Paolo Manili