Я написал небольшой тест, чтобы понять асинхронное поведение в EJB3.1, используя аннотацию @Asynchronous
. Похоже, что:
Если метод существует в том же bean-компоненте, что и вызывающий,
Однако, если асинхронный метод существует в другом bean-компоненте, поведение ожидается, т.е. вызов является асинхронным, а транзакция вызывающей стороны независима (асинхронный метод имеет поведение REQUIRES_NEW для транзакции). Меня это озадачивает, почему поведение в обоих случаях неодинаково. Кто-нибудь, пожалуйста, поясните?
P.S. Среда EJB 3.1, JBoss 6