如何解决Java批注,属性值必须恒定
我无法在Java中看到对这样的方法使用批注的情况。它给出了“属性必须为常数”
private static final String CONSTANT = MyClass.class.getCanonicalName();
@Timed(CONSTANT) //Attribute value must be constant
@CircuitBreaker(name = CONSTANT) //Attribute value must be constant
public String something( String something ) {
为了强调,我在这里以@Timed和@CircuitBreaker为例。许多其他注释将产生完全相同的问题。
问题:如何用Java做到这一点?我的意思是,我不想像这样在此处硬编码值。
@Timed("MyClass") @CircuitBreaker(name = "MyClass")
谢谢
解决方法
private static final String CONSTANT = MyClass.class.getCanonicalName();
这些是修饰符:private static final
这是数据类型/对象类型:String
这是您的常量/变量/对象的名称:CONSTANT
这是发起方:=
这是属性:MyClass.class.getCanonicalName();
您的属性不是常量,因此无法启动常量CONSTANT
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。