I've given up trying to explain this.
If you don't follow the spec semantics, the CCM won't understand what you
If you "cache" things outside an EJB instance you can expect the CCM to complain.
Understand the spec semantics and don't try to work around them
i.e. play nicely with the connection manager and pooling
OR remove the CachedConnectionInterceptor