So, I found a solution to the issue. Defining the MDC-interceptor is done like this : <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="default" namespace="/" extends="struts-default"> <interceptors> <interceptor name="MDC" class="be.a3-system.util.MdcLoggingUtility"> </interceptor> <interceptor-stack name="MyStack"> <interceptor-ref name="MDC" ></interceptor-ref> <interceptor-ref name="params"> <param name="acceptParamNames">^[a-zA-Z0-9_]+$</param> <param name="paramNameMaxLength">40</param> </interceptor-ref> <interceptor-ref name="timer" > <param name="logLevel">info</param> </interceptor-ref> <interceptor-ref name="defaultStack" /> </interceptor-stack> </interceptors>
<default-interceptor-ref name="MyStack" />
<action name="Hello" class="be.a3-system.action.HelloAction">
<result name="success">/WEB-INF/Hello.jsp</result>
<param name="scenario">DEFAULT</param>
</action>
<action name="*" class="be.a3-system.action.CatchAllAction">
<result name="success">/WEB-INF/CatchAll.jsp</result>
</action>
</package>
<include file="m1/struts.xml" />
<include file="m2/struts.xml" />
</struts>
But this interceptor is not propagated to the m1/struts.xml & m2/struts.xml.
The interceptor needs to be added to the included files.
With something like this :
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="M1" namespace="/m1" extends="struts-default">
<interceptors>
<interceptor name="MDC"
class="be.a3-system.util.MdcLoggingUtility">
</interceptor>
<interceptor-stack name="MyM1Stack">
<interceptor-ref name="MDC" ></interceptor-ref>
<interceptor-ref name="params">
<param name="acceptParamNames">^[a-zA-Z0-9_]+$</param>
<param name="paramNameMaxLength">40</param>
</interceptor-ref>
<interceptor-ref name="timer" >
<param name="logLevel">info</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="MyM1Stack" />
<action name="Hello" class="be.a3-system.action.HelloAction">
<result name="success">/WEB-INF/Hello.jsp</result>
<param name="scenario">M1</param>
</action>
<action name="*" class="be.a3-system.action.CatchAllAction">
<result name="success">/WEB-INF/CatchAll.jsp</result>
</action>
</package>
</struts>
\T,
On 27/08/13 13:55, Dave Newton wrote:
> What doesn't work?
>
> Dave
> On Aug 27, 2013 7:08 AM, "Thomas Lionel SMETS (prof)" <[email protected]>
> wrote:
>
>> I created my interceptor stack in the top-level struts.xml, like this :
>> <!DOCTYPE struts PUBLIC
>> "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
>>
>> "http://struts.apache.org/dtds/struts-2.3.dtd"<http://struts.apache.org/dtds/struts-2.3.dtd>
>> <struts>
>>
>> <package name="default" namespace="/" extends="struts-default">
>>
>> <interceptors>
>> <interceptor name="logging"
>> class="com.mysite.common.MdcLoggingUtility"/>
>> <interceptor-stack name="MyStack">
>> <interceptor-ref name="params">
>> <param name="acceptParamNames">^[a-zA-Z0-9_]+$</param>
>> <param name="paramNameMaxLength">40</param>
>> </interceptor-ref>
>> <interceptor-ref name="timer" >
>> <param name="logLevel">info</param>
>> </interceptor-ref>
>> <interceptor-ref name="defaultStack" />
>> </interceptor-stack>
>> </interceptors>
>>
>> <default-interceptor-ref name="MyStack" />
>>
>> ...
>>
>> <include file="module_1/struts.xml" />
>> <include file="module_2/struts.xml" />
>> </struts>
>>
>>
>> I have tried different declaration in the submodules but thay all seems to
>> not thoroughly work.
>> So having the same declaration or the same declaration with different name
>> for the interceptor or using "MyStack" in the extends ...
>>
>>
>> Any idea would be appreaciated.
>>
>> Tx,
>>
>>
--
Thomas Lionel SMETS, CISSP (385434)
*m :* +32 497 44 68 12
*ph :* +32 2 852 3341
*skype :* thomas.lionel.smets
PGP = FDF0 8FB8 4F37 3F79 1011 05AB 0DCE 9BAB 5DD0 0E10
<<attachment: tsmets.vcf>>
signature.asc
Description: OpenPGP digital signature

