Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Struts Wiki" for change 
notification.

The following page has been changed by tmjee:
http://wiki.apache.org/struts/RoughSpots

------------------------------------------------------------------------------
    1. Remove `destroy()` and `init()` from `Interceptor`. They don't make much 
sense until the interceptor lifecycle is specified (see next item). I've never 
needed them, yet it's a pain to implement empty methods every time I implement 
an interceptor. Users can use the constructor/finalizer or we can create 
additional lifecycle interfaces.
  
      * [plightbo] I don't really care. This ties more in to the next item...
+     * [tm_jee] I'd prefer to keep them as a separate optional implementable 
interface as Bob advised, such that Interceptor interface implementor are not 
required to implement them, and for the minority who needs them, its there.
  
    1. Specify `Interceptor` lifecycle. Right now if we apply an interceptor to 
a single action, we get a new instance every time. If we define an interceptor 
in a stack, the same instance gets reused.
  
      * [jcarreira] A new instance per action configuration, right? Not 
per-invocation... 
      * [crazybob] Last I tested it was per invocation (I remember because it 
surprised me). This is actually a non-issue. We'll create a custom 
`ConfigurationProvider` for Struts which won't have this problem.
      * [plightbo] Agreed, by abstracting most configuration out, we can 
control the lifecycle. I think the lifecycle should be either once per 
interceptor or once per invocation. Currently the implementation is too 
cumbersome (once per unique action configuration).
-     * [tm_jee] I'd prefer to keep them as a separate optional implementable 
interface as Bob advised, such that Interceptor interface implementor are not 
required to implement them, and for the minority who needs them, its there.
+     
  
    1. Get rid of `AroundInterceptor`. Having `before()` and `after()` methods 
doesn't make things simpler. It reduces flexibility. We can't return a 
different result. You can't handle exceptions cleanly. The actual interceptor 
class doesn't appear in the stack trace (we see `AroundInterceptor` over and 
over).
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to