Search in sources :

Example 1 with DescribeCmqQueueDetailResponse

use of com.tencentcloudapi.tdmq.v20200217.models.DescribeCmqQueueDetailResponse in project cmq-java-sdk by tencentyun.

the class Queue method getQueueAttributes.

/**
 * 获取队列属性
 *
 * @return 返回的队列属性参数
 */
public QueueMeta getQueueAttributes() {
    QueueMeta meta = new QueueMeta();
    try {
        CmqConfig cmqConfig = client.getCmqConfig();
        Credential cred = new Credential(cmqConfig.getSecretId(), cmqConfig.getSecretKey());
        String endPoint = cmqConfig.getEndpoint();
        String region = CMQTool.convertRegion(endPoint);
        HttpProfile httpProfile = new HttpProfile();
        httpProfile.setEndpoint(cmqConfig.getManagerEndpoint());
        ClientProfile clientProfile = new ClientProfile();
        clientProfile.setHttpProfile(httpProfile);
        TdmqClient client = new TdmqClient(cred, region, clientProfile);
        DescribeCmqQueueDetailRequest req = new DescribeCmqQueueDetailRequest();
        req.setQueueName(this.queueName);
        DescribeCmqQueueDetailResponse resp = client.DescribeCmqQueueDetail(req);
        CmqQueue cmqQueue = resp.getQueueDescribe();
        meta.maxMsgHeapNum = cmqQueue.getMaxMsgHeapNum().intValue();
        meta.pollingWaitSeconds = cmqQueue.getPollingWaitSeconds().intValue();
        meta.visibilityTimeout = cmqQueue.getVisibilityTimeout().intValue();
        meta.maxMsgSize = cmqQueue.getMaxMsgSize().intValue();
        meta.msgRetentionSeconds = cmqQueue.getMsgRetentionSeconds().intValue();
        meta.createTime = (int) (cmqQueue.getCreateTime() / 1000);
        meta.lastModifyTime = (int) (cmqQueue.getLastModifyTime() / 1000);
        meta.activeMsgNum = cmqQueue.getActiveMsgNum().intValue();
        meta.inactiveMsgNum = cmqQueue.getInactiveMsgNum().intValue();
        if (null != cmqQueue.getRewindMsgNum()) {
            meta.rewindmsgNum = cmqQueue.getRewindMsgNum().intValue();
        }
        if (null != cmqQueue.getMinMsgTime()) {
            meta.minMsgTime = cmqQueue.getMinMsgTime().intValue();
        }
        if (null != cmqQueue.getDelayMsgNum()) {
            meta.delayMsgNum = cmqQueue.getDelayMsgNum().intValue();
        }
        meta.rewindSeconds = cmqQueue.getRewindSeconds().intValue();
    } catch (TencentCloudSDKException e) {
        System.out.println(e.toString());
    }
    return meta;
}
Also used : Credential(com.tencentcloudapi.common.Credential) TencentCloudSDKException(com.tencentcloudapi.common.exception.TencentCloudSDKException) TdmqClient(com.tencentcloudapi.tdmq.v20200217.TdmqClient) CmqConfig(com.qcloud.cmq.entity.CmqConfig) ClientProfile(com.tencentcloudapi.common.profile.ClientProfile) HttpProfile(com.tencentcloudapi.common.profile.HttpProfile) DescribeCmqQueueDetailRequest(com.tencentcloudapi.tdmq.v20200217.models.DescribeCmqQueueDetailRequest) DescribeCmqQueueDetailResponse(com.tencentcloudapi.tdmq.v20200217.models.DescribeCmqQueueDetailResponse) CmqQueue(com.tencentcloudapi.tdmq.v20200217.models.CmqQueue)

Aggregations

CmqConfig (com.qcloud.cmq.entity.CmqConfig)1 Credential (com.tencentcloudapi.common.Credential)1 TencentCloudSDKException (com.tencentcloudapi.common.exception.TencentCloudSDKException)1 ClientProfile (com.tencentcloudapi.common.profile.ClientProfile)1 HttpProfile (com.tencentcloudapi.common.profile.HttpProfile)1 TdmqClient (com.tencentcloudapi.tdmq.v20200217.TdmqClient)1 CmqQueue (com.tencentcloudapi.tdmq.v20200217.models.CmqQueue)1 DescribeCmqQueueDetailRequest (com.tencentcloudapi.tdmq.v20200217.models.DescribeCmqQueueDetailRequest)1 DescribeCmqQueueDetailResponse (com.tencentcloudapi.tdmq.v20200217.models.DescribeCmqQueueDetailResponse)1