I have been using Openfire since three weeks and it is working great as per our expectation, however only problem that I had encountered is openfire pubsub node publishing item twice even when it is already been delivered. When I close the connection and make log in again, it published the last published item which is already been delivered. I am wondering, is it a bug of recent openfire version?
This is normal behaviour. According to the specification, the last published item may be published to a new subscriber. Thus if you log in and subscribe again, the last published item will get published to you.
I have tried to disable sending last published message when I used to make fresh login by setting “pubsub#send_last_published_item” with a value “never”. It has no effect.
Well, the publication is subscription, not user, based. So every time you subscribe you will get the published item. It has nothing to do with your actual login.
To disable, you have to set the send_last_published_item node property to 0 (false), it will default to 1 (true). The value ‘never’ is not a valid boolean argument.
Do you use the embedded database, or some form of SQL? If you installed with the default database settings you are using the embedded database, which is much harder to edit than an external database like MySQL. You may want to read http://community.igniterealtime.org/docs/DOC-1540 if you consider migrating.
I think the reason is that openfire does not support send_last_published_item property. The property name had been changed from send_item_subscribe to send_last_published_item on version 1.9 (see revision history in XEP-0060 spec.). However, when you look into the latest Openfire source, it has no pieces of code to handle it. Instead, it handles send_item_subscribe, which is the old version of property (see 110 line in LeafNode.java). When you try to configure the node with send_last_published_item property, the node will not be configured correctly.