切換語言為:簡體
在 Spring Boot 中配置 Tomcat 連線池

在 Spring Boot 中配置 Tomcat 連線池

  • 爱糖宝
  • 2024-07-22
  • 2083
  • 0
  • 0

    Spring Boot 是 Spring 平臺上的一個功能強大的抽象層。它使開發獨立的、可快速上線的應用變得簡單。Spring Boot 提供了一些處理應用程式的啟動依賴項。本文將討論在 Spring Boot 中配置 Tomcat 連線池。我們可以為此使用任何資料庫。在此,我們藉助 MongoClientSettings Bean 在 Spring Boot 中使用 MongoDB 配置 Tomcat 連線池。 MongoClientSettings 物件用於透過提供 MongoDB 配置細節來控制 MongoClient。 

    Spring Boot 中的 Tomcat 連線池是基於 Apache Tomcat 專案實現的強大且高效能的資料庫連線池。 它用於管理資料庫連線,使我們能夠避免為程式中的每次資料庫操作建立新的資料庫連線,連線池會自動重複使用池中的連線,可以節省伺服器資源並提高程式效能。在 Spring Boot 中,我們透過位於專案資原始檔夾中的 application.properties 檔案配置 Tomcat 連線池。

關鍵術語:

  • Connection Pool(連線池):為減少建立新連線的開銷而維護和重複使用的資料庫連線集合。 

  • Connection Leaks(連線洩漏):當連線未正確關閉並返回池中,導致資源耗盡: 連線未正確關閉並返回池,導致資源耗盡。 

  • Connection Timeout(連線超時): 關閉閒置連線的時間。 

  • Max Connections(最大連線數): 連線池中的最大連線數,它控制著資料庫併發操作的最大數量。

先決條件:

要理解本文,您應瞭解以下列出的內容

  • Spring Boot 框架 

  • Apache Tomcat 

  • 資料庫

  • 連線池 

  • MongoClient 和 MongoClientSettings 

  • Spring 啟動器依賴關係管理

在 Spring Boot 中配置 Tomcat 連線池的實現步驟

首先,我們建立一個帶有 MongoDB Starter 依賴關係的 Spring Starter 專案,以便與 Apache Tomcat 伺服器建立連線池。建立該專案時,Apache Tomcat 預設已內建並由 Spring Boot 框架管理。按照以下步驟,我們可以在 Spring Boot 中成功配置 Tomcat 連線池。

第 1 步:

使用 Spring 初始化程式建立 Spring 專案,在建立專案時,將以下依賴項新增到專案中。 

依賴項:

  • Spring Web 

  • MongoDB 

  • DevTools

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

建立 Spring 專案後,檔案結構如下圖所示。

在 Spring Boot 中配置 Tomcat 連線池

步驟 2:

然後,我們在專案的主包中建立一個類。 之後,我們使用 @Configuration Spring 註解使其成為一個配置類。 現在,我們使用 MongoClientSettings Bean 編寫 MongoClient 配置的程式碼。 該配置類在執行資料庫操作時管理資料庫連線。

package com.app;
import com.mongodb.ConnectionString;
import com.mongodb.MongoClientSettings;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MongoConfig {
    @Bean
    public MongoClientSettings mongoClientSettings() {
        ConnectionString connectionString = new ConnectionString("mongodb://localhost:27017/exampledb");
        return MongoClientSettings.builder()
                .applyConnectionString(connectionString)
                .build();
    }
    @Bean
    public MongoClient mongoClient() {
        return MongoClients.create(mongoClientSettings());
    }
}

第 3 步:

開啟專案資原始檔夾中的 application.properties 檔案。加入以下程式碼,使用屬性檔案在 Spring Boot 中配置 Tomcat 連線池。

spring.application.name=TomcatConnectionPool
# MongoDB connection details
spring.data.mongodb.uri=mongodb://localhost:27017/work
# Connection pool settings
spring.data.mongodb.connection-per-host=100       
spring.data.mongodb.min-connections-per-host=10   
spring.data.mongodb.max-wait-time=120000          
spring.data.mongodb.connect-timeout=10000         
spring.data.mongodb.socket-timeout=10000

該屬性檔案包含有關最小和最大連線數、連線超時、套接字超時和最大等待時間的資訊。 還可以根據專案要求定義更多屬性。 

第 4 步:

現在,讓我們將此專案作為 Spring Boot 應用程式執行。 預設情況下,專案執行在 Apache Tomcat 伺服器的 8080 埠上。透過日誌可以看到Tomcat的連線池資訊。

在 Spring Boot 中配置 Tomcat 連線池

0則評論

您的電子郵件等資訊不會被公開,以下所有項目均必填

OK! You can skip this field.