The before and after properties contain a list of Ids that can control where in the chain the interceptor is placed relative to other interceptors
54555657585960616263646566
private void removeInterceptor(List<Interceptor> inInterceptors, String name) { for (Interceptor i : inInterceptors) { if (i instanceof PhaseInterceptor) { PhaseInterceptor p = (PhaseInterceptor)i; if (p.getId().equals(name)) { inInterceptors.remove(p); return; } } }
41424344454647484950515253
} protected void removeInterceptorWhichIsInThePhases(List<Interceptor> interceptors, String[] phaseNames) { for (Interceptor i : interceptors) { if (i instanceof PhaseInterceptor) { PhaseInterceptor p = (PhaseInterceptor)i; for (String phaseName : phaseNames) { if (p.getPhase().equals(phaseName)) { getLogger().info("removing the interceptor " + p); interceptors.remove(p); break; } }
57585960616263646566676869
protected void removeInterceptorWhichIsOutThePhases(List<Interceptor> interceptors, String[] phaseNames) { for (Interceptor i : interceptors) { boolean outside = false; if (i instanceof PhaseInterceptor) { PhaseInterceptor p = (PhaseInterceptor)i; for (String phaseName : phaseNames) { if (p.getPhase().equals(phaseName)) { outside = true; break; } } if (!outside) {
707172737475767778798081
// discard even-numbered message InterceptorChain chain = message.getInterceptorChain(); ListIterator it = chain.getIterator(); while (it.hasNext()) { PhaseInterceptor pi = (PhaseInterceptor)it.next(); if (MessageSenderInterceptor.class.getName().equals(pi.getId())) { chain.remove(pi); LOG.fine("Removed MessageSenderInterceptor from interceptor chain."); break; } }
666768697071727374757677
} InterceptorChain chain = message.getInterceptorChain(); ListIterator it = chain.getIterator(); while (it.hasNext()) { PhaseInterceptor pi = (PhaseInterceptor)it.next(); if (MessageSenderInterceptor.class.getName().equals(pi.getId())) { chain.remove(pi); LOG.fine("Removed MessageSenderInterceptor from interceptor chain."); break; } }
524525526527528529530531532533534535536537538539
InterceptorChain chain = message.getInterceptorChain(); ListIterator it = chain.getIterator(); boolean bareIn = false; boolean wrappedIn = false; while (it.hasNext() && !wrappedIn && !bareIn) { PhaseInterceptor pi = (PhaseInterceptor)it.next(); if (WrappedInInterceptor.class.getName().equals(pi.getId())) { wrappedIn = true; it.remove(); LOG.fine("Removed WrappedInInterceptor from chain."); } else if (BareInInterceptor.class.getName().equals(pi.getId())) { bareIn = true; } } if (!bareIn) {
434435436437438439440441442443444445446447448449
531532533534535536537538539540541542543544545546
33343536373839404142434445
protected abstract Logger getLogger(); protected void removeInterceptorWhichIsInThePhases(List<Interceptor> interceptors, String[] phaseNames) { for (Interceptor i : interceptors) { if (i instanceof PhaseInterceptor) { PhaseInterceptor p = (PhaseInterceptor)i; for (String phaseName : phaseNames) { if (p.getPhase().equals(phaseName)) { getLogger().info("removing the interceptor " + p); interceptors.remove(p); break; } }