There are so many methods of how to make an interceptor. The other way i saw was implementing the Interceptor interface and using the InterceptorDef annotation however when i attempted this, this did not work at all.
I am searching for the solution that will could have 1 interceptor instance for 100 instances of a MDB. This interceptor would effectively maintain the "state" of the entire MDB.
With that if i deploy another MDB in the same ear via deployment descriptors, another interceptor would be required to profile the new MDB.
Thus 2 MDBs X j instances but still only 2 interceptors to profile each MDB.