This article cho thấy ứng dụng Tomcat 7 nên sử dụng hồ bơi kết nối JDBC thay vì hồ bơi kết nối commons-dbcp. Tuy nhiên, sau này là mặc định cho một ứng dụng Grails, và nó không rõ ràng làm thế nào để thay đổi nó. Tôi nghĩ rằng tôi cần phải xác định một bean Spring trong resources.groovy
ghi đè lên một bean thường được tạo theo mặc định, nhưng tôi không biết bean này nên được đặt tên là gì hoặc thuộc tính nào tôi cần thiết lập.định cấu hình ứng dụng Grails để sử dụng hồ bơi kết nối JDBC
Trả lời
Điều đơn giản nhất có thể là sử dụng plugin jdbc-pool. Vì các tùy chọn cấu hình cho nhóm này cố ý rất giống với Commons DBCP (chúng được ghi thành tài liệu here), bạn có thể sử dụng plugin để xác định phụ thuộc jar và quản lý việc chuyển đổi lớp cho bạn. Plugin này chưa được cập nhật trong một năm nên plugin này hơi lỗi thời (plugin sử dụng phiên bản 1.0.9.0 nhưng là latest is 1.0.9.3) để bạn có thể muốn xác định phụ thuộc plugin không bao gồm jar và thêm một cho phiên bản mới hơn. Đó là trong repo , vì vậy bạn sẽ cần phải thêm nó vào BuildConfig.groovy của bạn (xem plugin's version cho cách ông đã làm nó).
Có ghi chú cấu hình cho hồ bơi here và một loạt bài đăng trên blog của tác giả here.
Nếu bạn muốn cấu hình này mà không sử dụng plugin, thêm repo và phụ thuộc jar để BuildConfig.groovy
:
repositories {
inherits true
...
ebr()
}
dependencies {
runtime('org.apache.tomcat:com.springsource.org.apache.tomcat.jdbc:1.0.9.3') {
transitive = false
}
}
và tạo ghi đè cho đậu dataSource
trong resources.groovy
:
import org.apache.tomcat.jdbc.pool.DataSource
beans = {
dataSource(DataSource) {
// mandatory
driverClassName = '${dataSource.driverClassName}'
username = '${dataSource.username}'
password = '${dataSource.password}'
url = '${dataSource.url}'
// optional
minEvictableIdleTimeMillis=1800000
timeBetweenEvictionRunsMillis=1800000
numTestsPerEvictionRun=3
testOnBorrow=true
testWhileIdle=true
testOnReturn=true
validationQuery="SELECT 1"
}
}
Thật thuận tiện khi sử dụng các chuỗi được trích dẫn một lần với ${}
trình giữ chỗ để tận dụng chức năng trình giữ chỗ thuộc tính của Spring và giữ mọi thứ KHÔN vì bạn đã đặt trình điều khiển và kết nối thông tin trong DataSource.groovy
.
Trong DataSource.groovy
tôi sử dụng như sau:
environments {
integration {
dataSource {
pooled = false
jndiName = "java:/comp/env/jdbc/myJndiName"
}
}
}
Và mọi thứ khác được xác định bởi Tomcat - đây chỉ cần phù hợp với nó. Không cần phải xác định bất kỳ bean dữ liệu nào trong resources.groovy
Điều này sẽ không hoạt động khi chạy ứng dụng ở chế độ phát triển –
Ah, câu hỏi của bạn không đề cập đến chế độ phát triển. – doelleri
Tôi muốn env phát triển của mình tương tự như khả năng sản xuất để giảm thiểu khả năng gây bất ngờ –
- 1. Hồ bơi kết nối JDBC Tomcat (phát hành kết nối)
- 2. Thiếu kết nối trong hồ bơi kết nối jdbc tomcat
- 3. Kích thước hồ bơi kết nối cấu hình Hibernate
- 4. Hồ bơi kết nối JDBC không mở lại Các kết nối trong tomcat
- 5. ChannelFactory Hồ bơi kết nối tối đa
- 6. Kết nối hồ bơi kết nối JMS hoặc Session Pooling
- 7. Giám sát hồ bơi kết nối
- 8. Hồ bơi ứng dụng IIS PID
- 9. ứng dụng bộ nhớ sử dụng hồ bơi theo dõi
- 10. Hồ bơi kết nối cơ sở dữ liệu JBoss
- 11. Ưu điểm và nhược điểm của việc có hồ bơi ứng dụng chuyên dụng để giữ các ứng dụng web trong một hồ bơi ứng dụng mặc định
- 12. Chia sẻ hồ bơi ứng dụng .NET
- 13. SQLException w/Tomcat 7.0 Hồ bơi kết nối JDBC và MySql
- 14. ngoại trừ việc tạo một Hồ bơi kết nối JDBC Glassfish v3
- 15. Cách đăng nhập dữ liệu hồ bơi kết nối bằng cách sử dụng BoneCP
- 16. Nếu tôi sử dụng lớp sql groovy trong grails, nó có sử dụng kết nối grails pooling không?
- 17. Khi nào một kết nối được trả về hồ bơi kết nối trong một ứng dụng JPA?
- 18. Sử dụng BoneCP: Xử lý các kết nối từ hồ bơi
- 19. Tất cả các kết nối trong hồ bơi đang được sử dụng
- 20. Cách tự động kết nối lại hồ bơi kết nối Oracle sau khi ngắt kết nối?
- 21. Hồ bơi kết nối hoặc nguồn dữ liệu? Tôi nên đưa vào JNDI?
- 22. Amazon S3 có hồ bơi kết nối không?
- 23. Thiết lập hồ bơi kết nối của chuỗi kết nối SQL Server
- 24. Một số sự nhầm lẫn xung quanh Tài nguyên JDBC và các hồ kết nối JDBC Glassfish
- 25. Hồ bơi ứng dụng IIS 7.0 tái chế mỗi phút
- 26. Tạo bể bơi ứng dụng sử dụng .NET 4.0
- 27. Tôi có đang sử dụng kết nối JDBC không?
- 28. Đặt hồ bơi ứng dụng cho gói bằng MSDeploy
- 29. Hồ bơi ứng dụng IIS & Lớp học tĩnh
- 30. Cách tắt hồ bơi kết nối khi dỡ tải ngữ cảnh?
Tôi nghĩ tôi sẽ chỉ sử dụng plugin. Tôi sẽ làm một bản phát hành mới của nó, nâng cấp lên phiên bản mới nhất của thư viện hồ bơi kết nối JDBC. –