struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Giovanni Azua <>
Subject Re: how to create background process
Date Wed, 07 Nov 2007 15:24:36 GMT

Martin Gainty wrote:
> Encapsulate the long running resource in run() method of a Thread here is a
> good example
> M--
I think the Java Servlet specification discourages such misbehavior 
(creating threads explicitly):

Copied from Java Servlet Spec Version 2.5 Page 14:

"A servlet container may place security restrictions on the environment 
in which a servlet
executes. In a Java Platform, Standard Edition (J2SE, v.1.3 or above) or 
Java Platform,
Enterprise Edition (Java EE, v.1.3 or above) environment, these 
restrictions should
be placed using the permission architecture defined by the Java 
platform. For example,
high-end application servers may limit the creation of a Thread object 
to insure that
other components of the container are not negatively impacted."

That you could spawn thread within Tomcat does not mean you should.

I think too that executeandwait would be the way to go, the showcase 
includes an example.

To achieve an executeandNOTwait asynchronous effect my wild guess would 
be in this
case to spawn a hidden action that is not associated with any view so 
the user will not
 notice it is being executed (giving the asynchronous effect). 
Implicitly you are spawning
a new thread within the Servlet container but in a safe way. I think the 
would not apply in this case because the user does not would not want to 
see the
outcome of the action i.e. wait for it to complete.

For the second case probably the way would be adding to the relevant JSP 
something like:
<s:action name="fileDownloadAsync" executeResult="false" /> or is there 
a cleaner way in S2.


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message