Java注释处理基础

Java注释处理基础,java,annotations,Java,Annotations,我使用了JDK和其他库(如hibernate)提供给我们的简单注释,但我从未编写过自己的注释。有人能帮我决定注释是否是正确的方法吗 我想对这样一个方法进行注释: @MyAnnotation(5) public void foo() { methodThatMightTakeLongerThan5(); } 当foo耗时超过5秒时,将消息打印到我的日志文件中。这可以通过注释实现吗?这是首选的实现吗 再进一步……我希望能够修改通过JMXbean传递给注释的值,以便在运行时修改它。这是可能

我使用了JDK和其他库(如hibernate)提供给我们的简单注释,但我从未编写过自己的注释。有人能帮我决定注释是否是正确的方法吗

我想对这样一个方法进行注释:

@MyAnnotation(5)
public void foo() {
     methodThatMightTakeLongerThan5();
}
当foo耗时超过5秒时,将消息打印到我的日志文件中。这可以通过注释实现吗?这是首选的实现吗


再进一步……我希望能够修改通过JMXbean传递给注释的值,以便在运行时修改它。这是可能的/首选的吗?

您可以将可能需要更长时间的
方法放入5()foo()
中运行线程,使用
Thread.sleep(5000)等待5秒钟,然后检查线程是否完成。如果没有,打印您需要的任何内容。我假设有一种方法可以检查线程是否正在运行,但我不确定。

这可能非常复杂。您是希望使用JSR269注释处理器来完成此任务,还是仅仅使用标准反射?是的,我对注释处理器没有太多经验。你对这个问题的任何了解都是有帮助的。我访问了一些通过谷歌搜索找到的网站,但灯泡还没有打开。我曾考虑过这样做,但我倾向于使用注释的原因是它简单且可重复使用。我有几个地方,这将是有用的。