[ 
https://issues.apache.org/struts/browse/WW-1821?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Don Brown updated WW-1821:
--------------------------

    Fix Version/s:     (was: 2.1.x)
                   2.2.x

> Provide mechanism to avoid instantiating Spring managed actions at startup
> --------------------------------------------------------------------------
>
>                 Key: WW-1821
>                 URL: https://issues.apache.org/struts/browse/WW-1821
>             Project: Struts 2
>          Issue Type: Improvement
>          Components: Core Actions
>    Affects Versions: 2.0.6
>            Reporter: marco ocana
>            Priority: Minor
>             Fix For: 2.2.x
>
>
> When Spring is used as the object factory for actions, Struts 2 will 
> instantiate at application load time  each of the action beans defined in 
> struts.xml.  
> It would be very useful to to have a way to avoid this behavior, particularly 
> during development.  Because of dependencies defined in Spring, instantiating 
> the action objects can also mean instantiating expensive resources such as 
> datasources that might not be immediately needed. 
> This feature can make the difference between restarting the application in 10 
> seconds versus multiple minutes. Would be a big development productivity 
> boost.
> It appears that the instantiation of actions occurs in the process of 
> verifying struts.xml. Specifically, it checks that the classes that implement 
> the actions have no-arg constructors that are public.
> In the case of the default ObjectFactory, the class defined in the 
> configuration is loaded and evaluated using the reflection API. When the 
> SpringObjectFactory is used however, the action implementation class is 
> obtained by requesting the action bean from Spring and then getting its 
> class. 
> Ideally, we would examine metadata and determine the validity of the action 
> definition without actually creating the action object. 
> If it turns out that the verification cannot avoid instantiating actions, 
> then I propose that a configuration option be provided that would 
> short-circuit checking the action classes, presumably in struts.properties . 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to