簡體   English   中英

AWS cognito `連接池關閉`

[英]AWS cognito `connection pool shutdown`

在我的 spring 啟動項目中,我首先在 cognito 中創建用戶池,然后將用戶添加到用戶池。 將用戶添加到用戶池時,我需要創建一個userPoolClient

我正在創建具有所有必需參數的用戶客戶端

CreateUserPoolClientResponse response = cognitoClient.createUserPoolClient(clientRequest);

但它的行為很奇怪。 當我運行代碼時,它的拋出connection pool shut down但是當我在帶斷點的調試模式下運行我的代碼時,它能夠成功創建user pool client 我不確定連接池的創建是否是異步過程,這就是為什么調試器在創建它之前需要一些時間?

有人遇到過這個問題嗎? 將不勝感激任何幫助。 謝謝

嘗試為此用例運行 AWS SDK Java V2。 這是 V2 的代碼。

package com.example.cognito;

//snippet-start:[cognito.java2.user_pool.create_user_pool_client.import]
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.cognitoidentityprovider.CognitoIdentityProviderClient;
import software.amazon.awssdk.services.cognitoidentityprovider.model.CognitoIdentityProviderException;
import software.amazon.awssdk.services.cognitoidentityprovider.model.CreateUserPoolClientRequest;
import software.amazon.awssdk.services.cognitoidentityprovider.model.CreateUserPoolClientResponse;
//snippet-end:[cognito.java2.user_pool.create_user_pool_client.import]

/**
 * To run this Java V2 code example, ensure that you have setup your development environment, including your credentials.
 *
 * For information, see this documentation topic:
 *
 * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
 */
public class CreateUserPoolClient {

    public static void main(String[] args) {
        final String USAGE = "\n" +
                "Usage:\n" +
                "    <clientName> <userPoolId> \n\n" +
                "Where:\n" +
                "    clientName - the name for the user pool client to create.\n\n" +
                "    userPoolId - the ID for the user pool.\n\n" ;

        if (args.length != 2) {
            System.out.println(USAGE);
            System.exit(1);
        }

        String clientName = args[0];
        String userPoolId = args[1];

        CognitoIdentityProviderClient cognitoClient = CognitoIdentityProviderClient.builder()
                .region(Region.US_EAST_1)
                .build();

        createPoolClient (cognitoClient, clientName, userPoolId) ;
        cognitoClient.close();
    }

    //snippet-start:[cognito.java2.user_pool.create_user_pool_client.main]
    public static void createPoolClient ( CognitoIdentityProviderClient cognitoClient,
                                          String clientName,
                                          String userPoolId ) {

        try {

            CreateUserPoolClientResponse response = cognitoClient.createUserPoolClient(
                    CreateUserPoolClientRequest.builder()
                            .clientName(clientName)
                            .userPoolId(userPoolId)
                            .build()
            );

            System.out.println("User pool " + response.userPoolClient().clientName() + " created. ID: " + response.userPoolClient().clientId());

        } catch (CognitoIdentityProviderException e){
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
    }
    //snippet-end:[cognito.java2.user_pool.create_user_pool_client.main]
}

我剛剛在單元測試中運行了它,它運行良好。

在此處輸入圖像描述

您可以在此處找到此服務的此代碼示例和其他代碼示例:

https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/cognito

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM