return new ReflectionInvocationContext(operation, interceptors, beanInstance, targetMethod, parameters);
}
public Object invoke(final Object... parameters) throws Exception {
try {
final InvocationContext invocationContext = createInvocationContext(parameters);
if (ThreadContext.getThreadContext() != null) {
ThreadContext.getThreadContext().set(InvocationContext.class, invocationContext);
}
return invocationContext.proceed();
} finally {
if (ThreadContext.getThreadContext() != null) {
ThreadContext.getThreadContext().remove(InvocationContext.class);
}
}