Hi Maxim, Each WebSocket connection locks only one page instance for the processing time.
"20+ simultaneous connects" - I guess this is 20 connections by different users, not 20 in the same page instance, right ? Because I do not expect 20 different users to interfere to each other. Martin Grigorov Wicket Training and Consulting Looking for a remote position with Wicket ? Contact me! https://twitter.com/mtgrigorov On Thu, Mar 15, 2018 at 7:58 AM, Maxim Solodovnik <solomax...@gmail.com> wrote: > Hello All, > > I'm trying to migrate from WebSocketBehavior to WebSocketResource due to > huge performance degradation starting 20+ simultaneous connects > Right now I see no way to process the messages "per client" > > Maybe it would be possible to have the power of these 2 approaches? > Or maybe there is the way to reduce lock time? > > I tried to implement > multi-threaded WebSocketSettings.Holder.get(this).setSendPayloadExecutor, > but this leads to lots of CouldNotLockPageException ... > > > On Thu, Mar 1, 2018 at 3:41 PM, Maxim Solodovnik <solomax...@gmail.com> > wrote: > > > Hello Martin, > > > > Thanks a lot for the answer > > I do remember it was discussed, and I do remember WebSocketResource is > > more performant, > > this is why i thought it would be good to have "resource" for speedy > > json and "behavior" for component updates etc. > > > > This is also mentioned in guide: > > https://ci.apache.org/projects/wicket/guide/8.x/single.html#_how_to_use > > > > "Wicket allows one thread at a time to use a page instance to simplify > > the usage of the pages in multithreaded enviroment. When a WebSocket > > message is sent to a page Wicket needs to acquire the lock to that > > page to be able to pass the IWebSocketMessage to the > > WebSocketBehavior. This may be problematic when the application needs > > to send many messages from the client to the server. For this reason > > Wicket provides WebSocketResource" > > > > > > > > On Thu, Mar 1, 2018 at 2:04 AM, Martin Grigorov > > <martin.grigo...@gmail.com> wrote: > > > Hi Maxim, > > > > > > This has been discussed in the past. > > > Please search the archives. > > > I see no reason why to have more than one connection per page. > > > > > > On Feb 28, 2018 19:44, "Maxim Solodovnik" <solomax...@gmail.com> > wrote: > > > > > >> It seems ConnectionRegistry should also be changed in the case of 2 or > > >> more websockets are opened :( > > >> will try with one websocket for now ... > > >> > > >> sorry for the noise > > >> > > >> On Thu, Mar 1, 2018 at 12:38 AM, Maxim Solodovnik < > solomax...@gmail.com > > > > > >> wrote: > > >> > Hello All, > > >> > > > >> > As far as I can see from the code > > >> > right now it is not possible to have multiple WebSockets on the page > > >> > > > >> > WebSocketResource and WebSocketBehavior > > >> > > > >> > Maybe it worth to extends API to allow such configuration? > > >> > I can create PR :) > > >> > > > >> > -- > > >> > WBR > > >> > Maxim aka solomax > > >> > > >> > > >> > > >> -- > > >> WBR > > >> Maxim aka solomax > > >> > > > > > > > > -- > > WBR > > Maxim aka solomax > > > > > > -- > WBR > Maxim aka solomax >