UndeclaredThrowableException из-за SQLException в Spring + iBatis? - PullRequest
0 голосов
/ 22 мая 2010

Я получаю следующее исключение, когда я опечатываю имя драйвера SQL или сервер базы данных находится в автономном режиме, в основном любое исключение SQLException.

Я не могу определить, откуда происходит исключение UndeclaredThrowableException.Строка 194 в SqlMapClientTemplate выглядит так:

logger.debug("Obtained JDBC Connection [" + springCon + "] for iBATIS operation");

Вот трассировка:

    java.lang.reflect.UndeclaredThrowableException
        $Proxy59.toString(Unknown Source)
    java.lang.String.valueOf(Unknown Source)
    java.lang.StringBuffer.append(Unknown Source)
    org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:194)
    org.springframework.orm.ibatis.SqlMapClientTemplate.executeWithListResult(SqlMapClientTemplate.java:249)
    org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:296)
    org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:290)

Некоторые из моих чтений указывают на какой-то тип проблемы с загрузкой классов?Я не могу понять, где вводится $ Proxy?

1 Ответ

1 голос
/ 22 мая 2010

Класс $Proxy59 должен быть типом переменной springCon. Это прокси-тип JDK, который, вероятно, представлен средой Spring как оболочка для реального соединения. Мне известен провайдер соединений в пуле, который возвращает соединения, которые подавляют метод close() через прокси-сервер (поскольку соединение в пуле, вызов close не является задачей клиента).

Возможно, обработчик прокси для метода toString() выдает проверенное исключение, что возможно с механикой прокси, но не разрешено.

Документация Java говорит:

  • "Если проверяемое исключение генерируется вызовом, который не может быть назначен ни одному из типов исключений, объявленных в предложении throws метода интерфейса, то UndeclaredThrowableException будет вызвано вызовом метода в экземпляре прокси. быть сконструированным за исключением того, что было сгенерировано методом invoke. "

Есть ли в журнале какое-либо другое исключение, может быть, непосредственно перед этим, или упомянутое как причина исключения?

...