[Jspider] WorkerThread::getState() returns incompatible type with Thread.getState

Pocket

On Java 1.5 or later, Java throws compile error in WorkerThread::getState() (net.javacoding.jspider.core.threading).
Because it returns incompatible type int with Thread.getState().

Thread.getState() [returns State] is implemented on Java 1.5 or later,
So I resolved this problem with following steps.

  1. Change method name from WorkerThread.getState() to WorkerThread.getThreadState()
  2. Change every method call thread.getState() to thread.getThreadState() on WorkerThreadPool.

[Japanese]

Java 1.5 以降においてJspiderを利用しようとすると、
WorkerThread::getState()においてコンパイルエラーが発生します。

理由としては、
Java 1.5 以降では、Thread.getState()が実装されたため、
その継承クラスであるWorkerThread.getState()が返す型が
Thread.getState()と異なるため発生します。

メソッド名がかぶらなければ良いので、
WorkerThread.getState()のメソッド名を変更することで解決します。

変更すべき箇所は以下の2ファイル

  1. WorkerThread.getState()
    getThreadState()にでも変えましょう。
  2. WorkerThreadPool 内のthread.getState()をすべて先ほど変更したメソッド名に変更する。

これで問題なく動くようになります。

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Leave a Reply