- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
Spring-Boot 支持 HikariCP(默认)、tomcat-jdbc 和 Commons DBCP 作为数据库的连接池。 但是,每个池都使用一组不同的属性。 在本教程中,我们将学习如何配置 Tomcat 连接池。
首先,要配置 Tomcat 连接池,您需要在 application.properties 文件中的“spring.datasource.tomcat”命名空间中添加属性。 这是一个例子:
spring.datasource.tomcat.initial-size=15 spring.datasource.tomcat.max-wait=20000 spring.datasource.tomcat.max-active=50 spring.datasource.tomcat.max-idle=15 spring.datasource.tomcat.min-idle=8 spring.datasource.tomcat.default-auto-commit=true
接下来,在您的 pom.xml 中,您需要禁用默认连接池 (HikariCP) 并引入 tomcat-jdbc 依赖项:
org.springframework.boot spring-boot-starter-data-jpa com.zaxxer HikariCP org.apache.tomcat tomcat-jdbc 10.0.16
最后,根据您的数据库,添加连接到数据库的驱动程序。 如果您要使用 H2 数据库:
com.h2database h2 2.1.210 runtime
如果要查看可通过反射调用的可用属性列表,请查看下表:
spring.datasource.tomcat.default-autoCommit |
(boolean) The default auto-commit state of connections created by this pool. If not set,defaultis JDBC driver default (If not set then the setAutoCommit method will not be called.) |
spring.datasource.tomcat.default-readOnly |
(boolean) The default read-only state of connections created by this pool. If not set thenthe setReadOnly methodwill not be called. (Some drivers don’t supportread onlymode, ex: Informix) |
spring.datasource.tomcat.default-transaction-isolation |
(String) The default TransactionIsolation state of connections created by this pool. One of the following: (seejavadoc) * NONE * READ_COMMITTED * READ_UNCOMMITTED * REPEATABLE_READ * SERIALIZABLE If not set, the method will not be called and it defaults to the JDBC driver. |
spring.datasource.tomcat.default-catalog |
(String) The default catalog of connections created by this pool. |
spring.datasource.tomcat.driver-class-name |
(String) The fully qualified Java class name of the JDBC driver to be used. The driver has to be accessible from the same classloader as tomcat-jdbc.jar |
spring.datasource.tomcat.username |
(String) The connection username to be passed to our JDBC driver to establish a connection. Note thatmethod DataSource.getConnection(username,password) bydefault will not use credentials passed into the method, but will use the ones configured here.See alternateUsernameAllowed propertyfor more details. |
spring.datasource.tomcat.password |
(String) The connection password to be passed to our JDBC driver to establish a connection. Note thatmethod DataSource.getConnection(username,password) bydefault will not use credentials passed into the method, but will use the ones configured here.See alternateUsernameAllowed propertyfor more details. |
spring.datasource.tomcat.max-active |
(int) The maximum number of active connections that can be allocated from this pool at the same time. The default value is 100 |
spring.datasource.tomcat.max-idle |
(int) The maximum number of connections that should be kept in the pool at all times.Defaultvalueis maxActive :100 Idle connections are checked periodically (if enabled) and connections that been idle for longerthan minEvictableIdleTimeMillis willbe released. (also see testWhileIdle ) |
spring.datasource.tomcat.min-idle |
(int) The minimum number of established connections that should be kept in the pool at all times. The connection pool can shrink below this number if validation queries fail.Defaultvalue is derived from initialSize :10 (also see testWhileIdle ) |
spring.datasource.tomcat.initial-size |
(int)The initial number of connections that are created when the pool is started. Default value is 10 |
spring.datasource.tomcat.max-wait |
(int) The maximum number of milliseconds that the pool will wait (when there are no available connections) for a connection to be returned before throwing an exception.Defaultvalue is 30000 (30 seconds) |
spring.datasource.tomcat.test-on-borrow |
(boolean) The indication of whether objects will be validated before being borrowed from the pool. If the object fails to validate, it will be dropped from the pool, and we will attempt to borrow another. In order to have a more efficient validation,see validationInterval .Default value is SAI |
spring.datasource.tomcat.test-on-connect |
(boolean) The indication of whether objects will be validated when a connection is first created. If an object fails to validate, it will bethrow SQLException .Default value is SAI |
spring.datasource.tomcat.test-on-return |
(boolean) The indication of whether objects will be validated before being returned to the pool. The default valueis SAI . |
spring.datasource.tomcat.test-while-idle |
(boolean) The indication of whether objects will be validated by the idle object evictor (if any). If an object fails to validate, it will be dropped from the pool. The default value is SAI and this property has to be set in order for the pool cleaner/test thread is to run (also see timeBetweenEvictionRunsMillis ) |
spring.datasource.tomcat.validation-query |
(String) The SQL query that will be used to validate connections from this pool before returning them to the caller. If specified, this query does not have to return any data, it just can’t throwa SQLException .The default valueis vô giá trị .If not specified, connections will be validation by the isValid() method. Example values are SELECT 1 (mysql), select 1 from dual (oracle), SELECT 1 (MSSqlServer) |
spring.datasource.tomcat.validation-query-timeout |
(int) The timeout in seconds before a connection validation queries fail. This works bycalling java.sql.Statement.setQueryTimeout(seconds) onthe statement that executesthe validationQuery .The pool itself doesn’t timeout the query, it is still up to the JDBC driver to enforce query timeouts. A value less than or equal to zero will disable this feature. The default valueis -1 . |
spring.datasource.tomcat.validator-class-name |
(String) The name of a class which implementsthe org.apache.tomcat.jdbc.pool.Validator interfaceand provides a no-arg constructor (may be implicit). If specified, the class will be used to create a Validator instance which is then used instead of any validation query to validate connections. The default valueis vô giá trị .An example valueis com.mycompany.project.SimpleValidator . |
spring.datasource.tomcat.time-between-eviction-runs-millis |
(int) The number of milliseconds to sleep between runs of the idle connection validation/cleaner thread. This value should not be set under 1 second. It dictates how often we check for idle, abandoned connections, and how often we validate idle connections. The default value is 5000 (5 seconds). |
spring.datasource.tomcat.num-tests-per-eviction-run |
(int) Property not used in tomcat-jdbc-pool. |
spring.datasource.tomcat.min-evictable-idle-time-millis |
(int) The minimum amount of time an object may sit idle in the pool before it is eligible for eviction. The default value is 60000 (60 seconds). |
spring.datasource.tomcat.access-to-underlying-connection-allowed |
(boolean) Property not used. Access can be achieved bycalling unwrap onthe pooled connection. see javax.sql.DataSource interface, or call getConnection through reflection or cast the object as javax.sql.PooledConnection |
spring.datasource.tomcat.remove-abandoned |
(boolean) Flag to remove abandoned connections if they exceedthe removeAbandonedTimeout .If set to true a connection is considered abandoned and eligible for removal if it has been in use longer than the removeAbandonedTimeout Setting thisto ĐÚNG VẬY canrecoverdbconnections from applications that fail to close a connection. See also logAbandoned The default valueis SAI . |
spring.datasource.tomcat.remove-abandoned-timeout |
(int) Timeout in seconds before an abandoned(in use) connection can be removed. The default value is 60 (60 seconds). The value should be set to the longest running query your applications might have. |
spring.datasource.tomcat.log-abandoned |
(boolean) Flag to log stack traces for application code which abandoned a Connection. Logging of abandoned Connections adds overhead for every Connection borrow because a stack trace has to be generated. The default valueis SAI . |
spring.datasource.tomcat.connection-properties |
(String) The connection properties that will be sent to our JDBC driver when establishing new connections.Formatof the string must be [propertyName=property;]* NOTE – The “user” and “password” properties will be passed explicitly, so they do not need to be included here. The default valueis vô giá trị . |
Tôi biết câu hỏi này có thể đã được hỏi trước đây, nhưng tôi đã kiểm tra tất cả các câu hỏi và tôi nghĩ trường hợp của tôi khác (xin hãy thông cảm). Vì vậy, tôi có hai tập dữ liệu, tập đầu tiên là tập dữ liệu thử nghiệm và tập thứ hai là các dự đoán (giá trị dự đoán, đó là lý do tại sao không có cột dữ liệu) mà tôi đã lưu trong một khung dữ liệu. Tôi muốn hợp nhất hai cái đó
Với sự trợ giúp của phương thức .loc, tôi xác định các giá trị trong một cột của khung dữ liệu Panda dựa trên các giá trị trong một cột khác của cùng khung dữ liệu đó. Đoạn mã dưới đây để bạn tham khảo: var1 = output_df['Player'].loc[out
Khi tôi sử dụng WinSCP trong Windows để kết nối với VMware thông qua Ubuntu, nó báo: Máy chủ đã từ chối kết nối SFTP, nhưng nó
Tôi đang phát triển một ứng dụng Android sử dụng dịch vụ web xml. Nó hoạt động tốt khi được kết nối trong mạng wi-fi, nhưng không thành công (http 404 không tìm thấy) khi được kết nối trong mạng 3G. Điều này không chỉ xảy ra ở các thiết bị. Để đo lường
Tôi có một tệp XIB chứa điều khiển của tôi, được tải vào Interface Builder (Xcode 4.0.2 trên Snow Leopard). Chủ sở hữu của tệp được đặt thành someClassController
Tôi quản lý cơ sở dữ liệu MySQL trên máy cục bộ của mình và kết nối với nó thông qua C bằng cách chạy chương trình sau: #include #include #include int main(int argc, char** arg
Tôi không hiểu tại sao mỗi lần có ai đó truy cập vào một trang trên trang web của tôi thì lại có một kết nối mới đến cơ sở dữ liệu được mở ra. Cuối cùng, tôi tải đến khoảng 300 và gặp lỗi và trang không tải được nữa. Cách tôi nghĩ nó nên hoạt động là, tôi đặt maxIdle thành 30, nghĩa là
Đang tìm cách dọn dẹp các tệp .txt trong NMEA GPS. Mã hiện tại của tôi như sau. xóa = ['$GPGGA', '$GPGSA', '$GPGSV', '$PSRF156', ] tìm kiếm
Tôi có một URL, một tên người dùng và một mật khẩu. Tôi muốn thiết lập kết nối VPN trong C# .Net WinForms. Bạn có thể cho tôi biết phải bắt đầu từ đâu không? Có API của bên thứ ba nào không? Các ví dụ về mã sẽ được đánh giá cao... Câu trả lời hay nhất Bạn có thể làm như thế này
Có cách nào tốt hơn để chuyển đổi một vectơ chuỗi thành một vectơ ký tự có ký tự kết thúc bằng số không giữa các chuỗi không? Vì vậy, nếu tôi có một vectơ chứa các chuỗi sau, "test", "my", "string", thì tôi muốn nhận được một
Tôi đang viết một thư viện liên tục kiểm tra kết nối của thiết bị Android và gửi lệnh gọi lại khi thiết bị được kết nối, ngắt kết nối hoặc kết nối Internet chậm. https://github.com/muddassir235/connection_ch
Hệ điều hành của tôi: Centos 7 + CLOUDLINUX 7.7 Khi tôi thử đăng nhập vào Mysql từ máy chủ [root@server3 ~]# Mysql -u root -h localhost -P 330
Tôi gặp lỗi: Puma tìm thấy lỗi này: Không thể mở kết nối TCP tới localhost:9200 (Kết nối bị từ chối - kết nối (2) cho cổng 'localhost' 9200) (Faraday::ConnectionFailed) trong
Xin hãy cho tôi giải pháp khắc phục lỗi sau. Đây là một ứng dụng trò chuyện.... Mã và lỗi như sau:: conversations_controller.rb def create if Conversation.bet
Tôi muốn nối dữ liệu từ hai ô thành một ô. Tôi cũng muốn chỉ kết hợp những ô có cùng ID. ID nhiệm vụ Tên 4355.2 Người tham gia 4355.2 Người lãnh đạo 4462.1 Trực tuyến 4462.1 Nhanh 4597.1
Tôi thường cần nối các trường trong TSQL... Hai vấn đề mà TSQL buộc bạn phải xử lý khi sử dụng toán tử "+" là Thứ tự ưu tiên kiểu dữ liệu và giá trị NULL. Với thứ tự ưu tiên kiểu dữ liệu, vấn đề nằm ở lỗi chuyển đổi. 1)
Có ứng dụng Facebook Connect dành cho iPad hoặc iPhone không? Ý tưởng là đăng nhập vào ứng dụng và sau đó có thể xem người dùng Facebook nào của tôi cũng đang sử dụng ứng dụng và các tính năng của nó. Câu trả lời tốt nhất là có.
Tôi đang gặp vấn đề kỳ lạ khi nối hoặc in chuỗi. Tôi có một char * mà tôi có thể thiết lập thành một trong nhiều giá trị từ một chuỗi ký tự. char *myStrLiteral = NULL; ... nếu (blah) myStrLiteral
Đối với dữ liệu sau - hãy cho $x := "Yahooooo !!!! Chọn một số - " hãy cho $y := 1 2 3 4 5 6 7 Tôi muốn lấy
Tôi đang xem video đào tạo về Perl của UDEMY, nhưng video không rõ ràng và có vẻ như có lỗi. Bài đào tạo này sẽ hướng dẫn cách nối 2 chuỗi bằng ví dụ sau: #!usr/bin/perl print $str = "Hi";
Tôi là một lập trình viên xuất sắc, rất giỏi!