对J2SE内置方法的限制

时间:2013-05-13 05:30:24

标签: java eclipse eclipse-plugin checkstyle pmd

根据我的公司规则,我不能使用线程的stop()

为此我想要的东西就像我使用stop()时一样,eclipse应该显示错误/警告 使用checkstyle和PMD很难实现。

2 个答案:

答案 0 :(得分:1)

您可能必须考虑使用FindBugs而不是Checkstyle或PMD,因为您需要知道变量的运行时类型,以便查看它是否是Thread的实例。

AFAIK,这些工具都没有针对您的Thread.stop()规则的内置检测器/检查,因此您必须write a custom Findbugs detector

实现此目的的一种更简单的方法(但不适用于企业开发环境)将使用Checkstyle和正则表达式简单地检查Thread.currentThread().stop()等的出现情况。如果你想要一个例子,请在评论中告诉我。

答案 1 :(得分:0)

嗯,你不能在java。*类中超越stop()或其他方法。您可以使用代码扫描程序搜索在线程实例上调用的stop()。

你可以扩展线程,然后使用它(在你的类中,stop方法不能做什么或者抛出和异常)但是你必须要求每次使用那个新类。

但他们为什么要你这样做呢?如果你使用多线程使用池(并且只创建Runnable类)或者你必须使用线程然后有其他方法来停止它们的处理(比如一个标志并在处理期间检查标志,并有一个setter来设置falg来自其他线程)