Дайте ответ на свой первый вопрос: -
Нет, SP_SPIN_ON_FIELD связан не только с полями энергонезависимого экземпляра, но даже поле с изменчивым значением может также привести к этой ошибке.
Пожалуйста, обратитесь к приведенному ниже коду, он имеет изменяемое поле и все еще показывает эту ошибку (SP_SPIN_ON_FIELD): -
public class FindBugSP
{
private volatile int mCountOne = 0;
/**
* DEFAULT CONSTRUCTOR
*
*/
private FindBugSP()
{
//DO NOTHING
super();
}
/**
* Method implementing actual scenario of FindBugs bug code - SP
*/
void problem()
{
while(true)
{
if(mCountOne == 0)
{
break;
}
}
}
/**
* Method implementing solution for actual scenario of FindBugs bug code - SP
*/
void solution()
{
while(true)
{
if(mCountOne ==5)
{
break;
}
mCountOne++;
}
}
}
Теперь отвечаю на ваш второй вопрос: -
MDM_WAIT_WITHOUT_TIMEOUT был удален из списка кодов ошибок.