2013-04-08 125 views
2

我已经使用了在JDK和其他库(如hibernate)中给予我们的简单注释,但是我从来没有写过自己的注解。有人可以帮我决定注释是否是正确的方法吗?Java注释处理基础

我想注释的方法是这样的:

@MyAnnotation(5) 
public void foo() { 
    methodThatMightTakeLongerThan5(); 
} 

当富花费超过5秒,打印一条消息,我的日志文件。这可能与注释?这是首选的实施?

更进一步...我想能够修改通过JMX bean传递给注释的值,以便我可以在运行时修改它,如果我想。这是可能的/首选的?

+0

这可能很相关。您是否正在使用JSR269注释处理器来完成这个或者仅仅是标准的反射? – 2013-04-08 23:09:50

+0

就是这样,我对注释处理器没有多少经验。你可以在这个主题上发表任何光线都很有帮助。我访问了我通过Google搜索发现的几个网站,但灯泡尚未开启。 – 2013-04-09 05:02:59

回答

0

你可以把methodThatMightTakeLongerThan5();放在一个Thread里面,运行线程foo(),等待5秒钟后用Thread.sleep(5000);,然后检查线程是否完成。如果不是,打印任何你需要的东西。我假设有一种方法来检查一个线程是否正在运行,但我不确定。

+0

我正在考虑做类似的事情,但我倾向于注释的原因是它很简单并且可以重复使用。我有几个地方,这将是有用的。 – 2013-04-09 05:01:10