Re: newFixedThreadPool in struts2
Firstly you should decide what do you like about life-time of that thread pool without being worry about calling shutdown. All your examples have solutions to call shutdown which I described below... Please read below [Try1] . By springframe work setup ThreadPool . In action class, use fixedPool Future f1 = fixedPool.submit(() -> { ...actions such as send email, etc }); So, there will be NO shutdown in action class fixedPool.shutdown(); will be maintained by spring config? You can set your bean `destroy-method` and call shutdown in that method. e.g. init-method="initPool" destroy-method="shutdownPool"> [Try2] . Each user login session create one fixedPool . When user logout, fixedPool.shutdown() What about if users do not call logout action. Where and how the fixedPool to be shutdown? Is there a way to auto shutdown after period of time? You can write your own listener by implementing HttpSessionListener and call shutdown in it's `sessionDestroyed` method. Please see [1]. [1] http://www.myjavarecipes.com/tag/session-timeout-handling-in-java/ Thank you very much Yasser. The information are very helpful! I will try1 which can be used/shared by all login users or 2 used by per login user session then.
Re: newFixedThreadPool in struts2
Hello Emi, Firstly you should decide what do you like about life-time of that thread pool without being worry about calling shutdown. All your examples have solutions to call shutdown which I described below... Please read below On 2/8/2018 7:02 PM, Emi wrote: > Hello, > > Can you suggest the best way to setup newFixedThreadPool in struts2 > webapp please? > > [Try1] > . By springframe work setup ThreadPool > . In action class, use fixedPool > Future f1 = fixedPool.submit(() -> { ...actions such as send > email, etc }); > > So, there will be NO shutdown in action class > fixedPool.shutdown(); will be maintained by spring config? You can set your bean `destroy-method` and call shutdown in that method. e.g. > > > > [Try2] > . Each user login session create one fixedPool > . When user logout, fixedPool.shutdown() > > What about if users do not call logout action. Where and how the > fixedPool to be shutdown? > Is there a way to auto shutdown after period of time? You can write your own listener by implementing HttpSessionListener and call shutdown in it's `sessionDestroyed` method. Please see [1]. [1] http://www.myjavarecipes.com/tag/session-timeout-handling-in-java/ > > > [Try3] > . In each action method > Create fixedPool > submit/future run... > fixedPool.shutdown() > > This way, the benefit is that fixedPool is shutdown for sure after > thread completes. > But each action is going to create one threadpool. Yes as you already mentioned, it's not a good idea at all because of it's bad performance. > > > Any suggestions about the best way to use "FixedThreadPool" in struts2 > web framework please? > Please read beginning of this email :) > Thanks a lot! Sincerely, Yasser.
newFixedThreadPool in struts2
Hello, Can you suggest the best way to setup newFixedThreadPool in struts2 webapp please? [Try1] . By springframe work setup ThreadPool . In action class, use fixedPool Future f1 = fixedPool.submit(() -> { ...actions such as send email, etc }); So, there will be NO shutdown in action class fixedPool.shutdown(); will be maintained by spring config? [Try2] . Each user login session create one fixedPool . When user logout, fixedPool.shutdown() What about if users do not call logout action. Where and how the fixedPool to be shutdown? Is there a way to auto shutdown after period of time? [Try3] . In each action method Create fixedPool submit/future run... fixedPool.shutdown() This way, the benefit is that fixedPool is shutdown for sure after thread completes. But each action is going to create one threadpool. Any suggestions about the best way to use "FixedThreadPool" in struts2 web framework please? Thanks a lot!