I'm debugging through some code that binds two different interceptors to the same annotation. I'm finding that under high load and high concurrency one of the interceptors isn't always visited. Just to make it a bit messier, the annotation being bound multiple times is Transactional.class in guice-persist.
Sample binding code:
TransactionInterceptor1 interceptor1 = new TransactionInterceptor1();
requestInjection(interceptor1);
bindInterceptor(any(), annotatedWith(Transactional.class), interceptor1);
then, in PersistModule:
bindInterceptor(any(), annotatedWith(Transactional.class), getTransactionInterceptor());
I couldn't find any documentation or posts out on the Internets that speak to this setup. Does this jog anyone's brain as to what's going on with this setup?
Thanks,
Bobby