У меня есть сервер WebLogic и базовый модуль EJB с Spring Data JPA и Hibernate, связывающимися с базой данных Postgres. У меня также есть веб-приложение на другом управляемом сервере в том же домене.
Когда я пытаюсь запустить запрос к базе данных через репозиторий Spring Data, я вижу из журналов, что был вызван метод в репозитории, но последовательность застряла в этой точке. Я также подозреваю из журналов базы данных, что ни один запрос SQL никогда не достигал базы данных.
Я не вижу ошибок, кроме исключения, говорящего о том, что поток в веб-приложении застрял (а не в модуле EJB, который должен отправлять фактический запрос).
Это не длительный запрос, возможно, потому что он может выполняться часами, в то время как из pgAdmin я мог бы запросить таблицы менее чем за секунду.
Я думаю, что нашел причину. Я думал, что мне удалось избавиться от исключения, но кажется, что я просто скрыл это. Исключением является следующее:
Exception Description: Error binding to externally managed transaction
Internal Exception: weblogic.transaction.RollbackException: setRollbackOnly called on transaction
. По какой-то причине трассировки стека нет в журналах.
В другом файле журнала (в этот момент я становлюсь еще более запутанным), я нахожу трассировку стека с неописуемым исключением:
<ExecuteRequest failed
java.lang.IllegalArgumentException.
java.lang.IllegalArgumentException
at weblogic.rjvm.ConnectionManager$SearchKey.<init>(ConnectionManager.java:2401)
at weblogic.rjvm.ConnectionManager.getConnectionInPairedConnTable(ConnectionManager.java:2338)
at weblogic.rjvm.ConnectionManager.getConnectionInPairedConnTable(ConnectionManager.java:2326)
at weblogic.rjvm.ConnectionManager.sendMsg(ConnectionManager.java:611)
at weblogic.rjvm.RJVMImpl.send(RJVMImpl.java:1168)
Truncated. see log file for complete stacktrace
Это сразу после того, как метод хранилища вызывается