Java @带有枚举方法的拦截器接口只返回默认值
我有下列情况 拦截器接口Java @带有枚举方法的拦截器接口只返回默认值,java,jakarta-ee,annotations,cdi,interceptor,Java,Jakarta Ee,Annotations,Cdi,Interceptor,我有下列情况 拦截器接口 @Inherited @InterceptorBinding @Documented @Target({ ElementType.TYPE, ElementType.METHOD }) @Retention(RetentionPolicy.RUNTIME) public @interface IErrorHandlerInterceptor { Car tyre() default Car.FOUR; } 枚举类 public enum Car{
@Inherited
@InterceptorBinding
@Documented
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
public @interface IErrorHandlerInterceptor {
Car tyre() default Car.FOUR;
}
枚举类
public enum Car{
FOUR,FIVE;
}
@ErrorHandlerInterceptor(tyre= Car.FIVE)
public List<?> getCarByName(String name) {
----------
return List<?>;
}
EJB无状态类
public enum Car{
FOUR,FIVE;
}
@ErrorHandlerInterceptor(tyre= Car.FIVE)
public List<?> getCarByName(String name) {
----------
return List<?>;
}
现在我的问题是:
每当我调用String tyresNumber=ei.tyre().toString()代码>它只返回我在接口声明中设置的默认值
我做错了什么?
我忘了什么吗
谢谢你的帮助这个答案对我很有帮助
IErrorHandlerInterceptor ei = getClass().getAnnotation(IErrorHandlerInterceptor.class);
getClass().getAnnotation(…)
错误。正确的调用必须来自上下文
IErrorHandlerInterceptorei = context.getMethod().getAnnotation(IErrorHandlerInterceptor.class);