Я реализовал commons dbcp PoolingDataSource
и он отлично работает - вплоть до того, как я столкнулся с проблемой использования конкретной реализации интерфейса java.sql.PreparedStatement
.
((OraclePreparedStatement) getStatement()).registerReturnParameter(index, sqlType);
java.lang.ClassCastException:
org.apache.commons.dbcp.DelegatingPreparedStatement
cannot be cast to oracle.jdbc.OraclePreparedStatemen
Я понимаю, почему это происходит. Есть ли способ использовать реализацию PreparedStatement для конкретного поставщика, но при этом можно использовать пул соединений, предоставляемый Commons DBCP? Я хотел бы использовать registerReturnParameter () и getReturnResultSet (), которыеспецифичны для реализации Oracle.Я знаю, что нарушил кардинальное правило № 1 ...
Кроме того, PoolingDataSource оборачивает OracleXADataSource, что заставляет меня поверить, что это как-то возможно сделать ...