public class PrivilegeInter extends AbstractPhaseInterceptor<Message>
{
private static final int MAXSUM = 10;
public static int getCOUNT() {
return COUNT;
}
public static void setCOUNT(int count) {
COUNT = count;
}
public static int getMAXSUM() {
return MAXSUM;
}
private static int COUNT = 0;
public PrivilegeInter() {
super(Phase.PRE_STREAM);
// TODO Auto-generated constructor stub
}
public void handleMessage(Message outMessage) throws Fault
{
COUNT++;
if (COUNT > MAXSUM)
{
System.out.println("return");
return;
}
System.out.println(COUNT);
System.out.println(outMessage.getExchange().getDestination().getAddress());
Map<String, List<String>> headers = (Map<String, List<String>>)outMessage.get(Message.PROTOCOL_HEADERS);
String s = (String)outMessage.get(Message.BASE_PATH);
System.out.println(s);
String s1 = (String)outMessage.get(Message.HTTP_REQUEST_METHOD);
System.out.println(s1);
String s2 = (String)outMessage.get(Message.PATH_INFO);
System.out.println(s2);
String s3 = (String)outMessage.get(Message.REQUEST_URI);
System.out.println(s3);
String s4 = (String)outMessage.get(Message.QUERY_STRING);
System.out.println(s4);
}
}
=========================================
public class PrivilegeOuter extends AbstractPhaseInterceptor<Message>
{
public PrivilegeOuter() {
super(Phase.POST_STREAM);
// TODO Auto-generated constructor stub
}
public void handleMessage(Message arg0) throws Fault
{
PrivilegeInter.setCOUNT(PrivilegeInter.getCOUNT() - 1);
System.out.println(PrivilegeInter.getCOUNT());
}
}
========================
<jaxrs:server id="pervice" address="/">
<jaxrs:serviceBeans>
<ref bean="privilegeServiceImpl" />
</jaxrs:serviceBeans>
<jaxrs:inInterceptors>
<ref bean="inter" />
</jaxrs:inInterceptors>
<jaxrs:outInterceptors>
<ref bean="outer" />
</jaxrs:outInterceptors>
</jaxrs:server>
<bean id="inter" class="com..PrivilegeInter" />
<bean id="outer" class="com.PrivilegeOuter" />