Tôi gặp vấn đề khi tôi không biết cách giải quyết: Tôi có một ứng dụng web (được đóng gói như một cuộc chiến) và khách hàng có thể cấu hình cơ sở dữ liệu nào muốn chỉ đến. Chúng tôi hỗ trợ cả PostgreSQL và Redshift (cũng như những người khác). Các trình điều khiển JDBC4 được tải tự động, điều này tốt. Đây là vấn đề:Trình điều khiển JDBC Redshift và Postgres đều chặn chuỗi kết nối jdbc: // postgresql
Dường như trình điều khiển JDBC Redshift sẽ trả lời chuỗi kết nối jdbc: // postgresql trước khi PostgreSQL có thể. Điều này gây ra lỗi JDBC khi kết nối với cơ sở dữ liệu PostgreSQL.
Tôi đang chỉ định tên trình điều khiển 'org.postgresql.Driver' làm trình điều khiển cho nguồn dữ liệu trong tệp pom.xml của mình, nhưng tôi không chắc chắn cách các mẫu JDBC mùa xuân đang chọn trình điều khiển (trừ khi nó chọn xử lý đầu tiên).
Bất kỳ ai khác đều gặp sự cố này?
Chúng tôi đang sử dụng Spring JDBC mẫu, là có một cách để chỉ định cho một DataSource người lái xe nên được sử dụng? Tôi nghĩ rằng tôi thấy một cái gì đó như setDriver() trên trình quản lý Driver, nhưng tôi là một chút của một mùa xuân noob ... –
Tôi không quen thuộc với mùa xuân, vì vậy không chắc chắn. Nếu mùa xuân chỉ sử dụng DriverManager đằng sau hậu trường thì tôi nghĩ rằng sắp xếp lại các trình điều khiển nên làm các trick. –