在Java EE中,@ Singleton Annotation确实通过同步对它的访问来访问Singleton线程安全。
现在,我想在类中使用Interceptor来测量对Singleton的调用时间。
我的问题是,在允许Thread使用Singleton之后调用Interceptor。这样我只能得到一个方法运行多长时间,但不知道调用者必须等待多长时间才能访问单例。
我基本上想做:
Caller
---Interceptor
------Singleton
但是只使用@Singleton和@Interceptor,我得到:
Caller
---Singleton
------Interceptor
有办法做到这一点吗?
答案 0 :(得分:0)
您可以使用@ConcurrencyManagement(ConcurrencyManagementType.BEAN)限制自己对单例的访问
http://docs.oracle.com/javaee/6/tutorial/doc/gipvi.html
手动限制必要的访问方法,并在那里包含切入点代码。