Насколько одиночным является javax.ejb.Singleton в кластерной среде?
Мне нужно поддерживать простой счетчик, который уникален в приложении, для всех пользователей и всех узлов в кластерной среде. Я подумал об использовании одноэлементной аннотации сессионного компонента javax.ejb.Singleton примерно так:
package foo;
import javax.ejb.Singleton;
@Singleton
public class Bean {
private int counter;
[...]
}
Это выглядит просто, но я не смог найти ответ, если это работает как нужно в кластерной среде. Будет ли каждый узел кластера иметь свой собственный экземпляр или нет?
Конечно, я мог сохранить бин в базе данных, но на самом деле это всего лишь счетчик, и это было бы излишним. Кроме того, я хочу, чтобы счетчик сбрасывался при сбое или перезапуске приложения, поэтому его сохранение создаст больше проблем, чем решит.