Is it possible to send notifications (not respond to a packet) from a component using tigase implementation?
Hi guys, thanks in advance.
My question is, if i develop a component using the tigase implementation (extending AbstractMessageReceiver) is it possible to send notifications from there?
To give more details, we have several components set up as internal (in the tigase core installation), and also as external, but all those components receive packets from the user, and respond to that. This works perfect.
But now we need to send notifications from the components without an user starting the communication with the component, and those messages never reach.
I remember for example in case of external components that uses some sort of cache to save the users with the node on where are connected to respond thru that node (for performance reasons), could this be limitating us?
Or is able to do it and the problem is ours?
I only need to know if is possible, so in case is not, we switch for this to an external component outside the tigase implementation that i already tested and of course works.
Added by Wojciech Kapcia 5 days ago
could you clarify that the external component works, but messages generated from it don't reach the users to which they are addressed?
This should work, therefore I would recommend tracking packet send from external component with enabled debugging (recommended configuration
Added by Juan Ignacio Paz 5 days ago
Hi Wojciech, we have two scenarios one that works the other one not:
1- When the external component receives a message from the user (deliver by tigase to external component) then the component process the packet and respond. This works ok
2- For a new functionality we need to notify users about changes (notifications), in this case the component creates a packet and send it to an user.
So this packet is not in response of another one, the component is who initiates the communication.
This packet is addressed to the user by jid, and add it to the queue using addOutPacket as always.
This doesn't work, the packet never reaches the user that is connected.
I will track de logs and paste it here.