Наша фасоль;
@Stateless
@Singleton
public class ManagerDaoImpl extends AbstractDAO<X> implements ManagerDAO {
@EJB
PersonDAO personDao;
@PersistenceContext(unitName = "PoyrazPU")
private EntityManager em;
. . .
СИЛЬНЫЙ: Символ аннотаций определяется в супер-класса не совместим с сеансного ManagerDaoImpl ++, решаемые с помощью @LocalBean @LOCAL (LocalFoo.class) вместо @Singleton
Наш новый боб;
@Stateless
@LocalBean
@Local(MAanagerDAO.class)
public class ManagerDaoImpl extends AbstractDAO<X> implements ManagerDAO {
@EJB
PersonDAO personDao;
@PersistenceContext(unitName = "PoyrazPU")
private EntityManager em;
Проблема решена, но есть новая проблема с аннотацией @Lock. Я получил эту ошибку,
СИЛЬНЫЙ: @Lock разрешается только для одноэлементных сеансовых компонентов
@Asynchronous
@Lock()
@AccessTimeout(-1)
@Override
public void doStuff(Mass mass) {
for (int i = 0; i < RETRY_COUNT; i++) {
notify(mass);
try {
Thread.sleep(TIME);
} catch (InterruptedException ex) {
BeanLogger.logError("Thread sleep threw exception while informing masses: ", new ThreadSleepException(ex));
}
}
}
Сообщение EJB-значимый код и полное StackTrace. –