【发布时间】:2015-02-09 08:28:06
【问题描述】:
我目前正在学习 JavaEE7 教程,但我遇到了一个我无法解决的练习。我必须使用限定符将我的日志记录分成技术日志和操作日志。这是我定义这些限定符的类:
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.PARAMETER;
import java.lang.annotation.Retention;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Target;
import javax.inject.Qualifier;
/**
*
* @author jalexakis
*/
public class Logs {
@Qualifier
@Target({FIELD, PARAMETER})
@Retention(RUNTIME)
public @interface TecLog {}
@Qualifier
@Target({FIELD, PARAMETER})
@Retention(RUNTIME)
public @interface OperationalLog{}
}
现在我必须改变这个方法,
@Produces
public Logger produceLog(InjectionPoint injectionPoint){
return Logger.getLogger(injectionPoint.getMember().getDeclaringClass().getName(), "messages");
}
分为两种方法,一种用于@TecLog,一种用于@OperationalLog。我该怎么做呢?我尝试使用限定符对方法进行注释,但出现“不适用于此类声明的注释类型”-错误。
【问题讨论】: