Hi,

I'm playing around with JSR 356 (its final ballot should finish on 22 April) and I come out with an issue that involves also the current support for native websocket. In my project (you can find it at https://github.com/bitstorm/Wicket-tutorial-examples/tree/master/JsrSocketExample) I've used the same method 'broadcastMessage' implemented in class AbstractWebSocketProcessor. The problem I've found with this method is that it retrieves a page instance with the current page manager before processing the socket message. The side effect of this code is that the page is locked for the entire duration of message processing. This means that we can't have multiple socket behaviors running on the same page at the same time. In other words, a long-time running behavior will block any other websocket behaviors waiting for the page instance to be unlocked.

How would you cope with this problem? Maybe creating a family of behavior that doesn't retrieve its page via page manager?

Reply via email to