arrrg, I've already changed the implementation by using auto refresh, which isn't that bad either, I can interupt the previous search request. but if i have saw ur post earlier, i wouldn't go long way to make those changes.
Thanks anyway. Johan Compagner wrote: > > If 1 page instance can be accessed by multiply threads we suddenly have to > have synchronize blocks all over the place > in our wicket code (especially the response area, rendering) > > Also in the request phase where you can alter components and so on. Also > needs to be synched. (add/remove of components, behaviours or validatiors) > > Even when i just quickly think about it, there are soooo many things that > can go horrible wrong.. that i even dont dare to start coding for that. > > What you can do is post your search to a bookmarkable page. Those are not > locked because you create a new instance > > johan > > > On Jan 29, 2008 4:51 PM, cemeterygate <[EMAIL PROTECTED]> wrote: > >> >> that's right, i am screwed anyway if request takes too long, but from the >> browser user decide to give up current search by click the stop button >> and >> fire a new search. Since the pagemap is still locked by previous request, >> the second request will have to wait. sounds like i will end up handle >> this >> senario by pulling. is it possible to have a page that's not single >> thread >> model? Can we have two interface, such as SingleThreadPage, and >> ConcurrentThreadPage? >> >> >> igor.vaynberg wrote: >> > >> > yeah, if it takes a while the browser will timeout and you are screwed >> > anyways... >> > >> > what do you mean they cant start a new search? you mean they no longer >> > for the results of the currently running search and just press the >> > search button again? >> > >> > if they would open a new tab with the search page, and you had >> > automultiwindowsupport option enabled that new opened page would be >> > created in a new pagemap, and so you wouldnt have a locking problem... >> > >> > -igor >> > >> > >> > On Jan 28, 2008 2:51 PM, Johan Compagner <[EMAIL PROTECTED]> wrote: >> >> shared resources are not synced thats one way of going round it. >> >> >> >> the other way is as igor describes. do the search in a seperate >> thread. >> >> If it really takes that long then you do know that browsers also can >> just >> >> time out after they don't get anything for a while? >> >> >> >> If it really takes that long then you should build a page where people >> >> can >> >> fire searches to the system >> >> and the page is just displayig the searches they did and then if the >> >> search >> >> is finished that page can bring them to the result >> >> >> >> johan >> >> >> >> >> >> >> >> >> >> On Jan 28, 2008 11:46 PM, cemeterygate <[EMAIL PROTECTED]> wrote: >> >> >> >> > >> >> > that's nice to have but is there a way to work around this issue? >> Our >> >> > application for customer service and they perform a lot search on a >> >> huge >> >> > database, in some cases, customer service would like to start new >> >> search. >> >> > Since wicket is locked by page path, there is no way for CSR to >> start >> a >> >> > new >> >> > request until previous one is finished. >> >> > >> >> > >> >> > igor.vaynberg wrote: >> >> > > >> >> > > the pages are locked on the pagemap. so you cannot have two >> >> concurrent >> >> > > requests from the same user to the same pagemap. this is so when >> you >> >> > > are coding your pages you can use the much simpler single-threaded >> >> > > model. >> >> > > >> >> > > every have fields in your servlet implementation? those have to be >> >> > > synchronized or you will run into threading issues. this is the >> stuff >> >> > > we make sure you dont have to worry about. >> >> > > >> >> > > the trade off is that if you have long running requests you should >> >> > > probably process them in a different thread and let the UI poll >> for >> >> > > status. >> >> > > >> >> > > -igor >> >> > > >> >> > > >> >> > > On Jan 28, 2008 2:08 PM, cemeterygate <[EMAIL PROTECTED]> >> wrote: >> >> > >> >> >> > >> So I developed my first wicket application and I kept getting >> >> exception >> >> > >> below >> >> > >> as soon as i point my application to production database. >> >> > >> >> >> > >> Can someone tell me why wicket can't handle concurrent request? >> >> > >> >> >> > >> to replicate this issue, i have a page with a form component and >> >> > regular >> >> > >> submit button. >> >> > >> on the onSubmit method, >> >> > >> protected void onSubmit() { >> >> > >> try { >> >> > >> Thread.sleep(3 * 60 * 1000); >> >> > >> } catch (InterruptedException e) { >> >> > >> } >> >> > >> } >> >> > >> >> >> > >> i put the thread into sleep for 3 minutes. I hit submit, then >> stop >> >> the >> >> > >> request on browser and submit another request. then result to a >> >> > internal >> >> > >> error page. Why can't wicket handle mutiple submit? i dont' get >> it, >> >> > >> shouldn't wicket process the new require like how servlet works? >> >> > Someone >> >> > >> please tell me how to work around this issue. Thanks in advance. >> >> > >> >> >> > >> >> >> > >> 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - >> >> <After >> >> > 1 >> >> > >> minute the Pagemap null is still locked by: >> >> > >> Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying >> to >> >> get >> >> > >> the >> >> > >> page for path: 5> >> >> > >> org.apache.wicket.WicketRuntimeException: After 1 minute the >> Pagemap >> >> > null >> >> > >> is >> >> > >> still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], >> >> giving >> >> > up >> >> > >> trying to get the page for path: 5 >> >> > >> at org.apache.wicket.Session.getPage(Session.java:734) >> >> > >> at >> >> > >> >> >> > >> >> >> org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage >> >> > (AbstractRequestCycleProcessor.java:443) >> >> > >> at >> >> > >> org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve( >> >> > WebRequestCycleProcessor.java:139) >> >> > >> at >> >> org.apache.wicket.RequestCycle.step(RequestCycle.java:1152) >> >> > >> at >> >> org.apache.wicket.RequestCycle.steps(RequestCycle.java:1245) >> >> > >> at org.apache.wicket.RequestCycle.request( >> RequestCycle.java >> >> > :489) >> >> > >> at >> >> > >> org.apache.wicket.protocol.http.WicketFilter.doGet( >> WicketFilter.java >> >> > :354) >> >> > >> at >> >> > >> >> >> org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java >> >> > :121) >> >> > >> at >> >> javax.servlet.http.HttpServlet.service(HttpServlet.java:115) >> >> > >> at >> >> javax.servlet.http.HttpServlet.service(HttpServlet.java:92) >> >> > >> at >> >> > >> com.caucho.server.dispatch.ServletFilterChain.doFilter( >> >> > ServletFilterChain.java:106) >> >> > >> -- >> >> > >> View this message in context: >> >> > >> >> >> > >> >> >> http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15146763.html >> >> > >> Sent from the Wicket - User mailing list archive at >> >> Nabble.com <http://nabble.com/><http://nabble.com/> >> >> > . >> >> > >> >> >> > >> >> >> > >> >> >> --------------------------------------------------------------------- >> >> > >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> > >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > >> >> >> > >> >> >> > > >> >> > > >> --------------------------------------------------------------------- >> >> > > To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> > > For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > >> >> > > >> >> > > >> >> > >> >> > -- >> >> > View this message in context: >> >> > >> >> >> http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15147756.html >> >> > Sent from the Wicket - User mailing list archive at >> >> Nabble.com <http://nabble.com/><http://nabble.com/> >> >> >> >> > . >> >> > >> >> > >> >> > >> --------------------------------------------------------------------- >> >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> > For additional commands, e-mail: [EMAIL PROTECTED] >> >> > >> >> > >> >> >> > >> > --------------------------------------------------------------------- >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> > For additional commands, e-mail: [EMAIL PROTECTED] >> > >> > >> > >> >> -- >> View this message in context: >> http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15162303.html >> Sent from the Wicket - User mailing list archive at >> Nabble.com<http://nabble.com/> >> . >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > -- View this message in context: http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15186103.html Sent from the Wicket - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]