Я делаю переход на JBoss AS 7.1 и 2.3 пластах, но возникли некоторые проблемы с JBAS014360: EJB 3.1 FR 4.3.14.1 concurrent access timeout on org.jboss.invocation.InterceptorContext
JBAS014360: EJB 3.1 FR таймаут 4.3.14.1 одновременный доступ на org.jboss.invocation.InterceptorContext
Вот мое действие класс:
@Name("myAction")
@Scope(ScopeType.CONVERSATION)
public class MyAction implements java.io.Serializable {
@In(create = true)
private MyService myService;
@In(required = false)
@Out(required = true)
private User user;
@In(required = false)
@Out(required = false)
private Acquisition acquisition;
@Begin(join = true)
@Create
public void init() {
// more code
acquisition = myService.getNext(user);
}
public void saveHistory() {
myService.saveHistory(acquisition, user);
}
}
и класс обслуживания.
@Stateless
@Name("myService")
public class MyServiceImpl implements MyService {
@In(create = true)
private EntityManager em;
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public Acquisition getNext(User user){
// em.createNamedQuery(...);
// acquisition.update(user);
// em.flush();
// return acquisition
}
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public Acquisition saveHistory(Acquisition acquisition,User user){
history = createHistoryObject(...);
acquisition.getHistories().add(history);
return acquisition;
}
}
getNext(User user)
метод вызывается из init()
блока, и это вызывает исключение.
saveHistory(...)
метод вызывается со страницы xhtml и работает должным образом.
Что случилось с блоком init()
? Некоторые изменения в EJB 3.1 или в Seam 2.3?
Может кто-нибудь объяснить это?