rocketmq-client-nodejs
Version:
RocketMQ Node.js Client
71 lines • 5.53 kB
JavaScript
;
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.PublishingSettings = void 0;
const definition_pb_1 = require("../../proto/apache/rocketmq/v2/definition_pb");
const client_1 = require("../client");
const util_1 = require("../util");
class PublishingSettings extends client_1.Settings {
#topics;
/**
* If message body size exceeds the threshold, it would be compressed for convenience of transport.
* https://rocketmq.apache.org/docs/introduction/03limits/
* Default max message size is 4 MB
*/
#maxBodySizeBytes = 4 * 1024 * 1024;
#validateMessageType = true;
constructor(namespace, clientId, accessPoint, retryPolicy, requestTimeout, topics) {
super(namespace, clientId, definition_pb_1.ClientType.PRODUCER, accessPoint, requestTimeout, retryPolicy);
this.#topics = topics;
}
get maxBodySizeBytes() {
return this.#maxBodySizeBytes;
}
isValidateMessageType() {
return this.#validateMessageType;
}
toProtobuf() {
const publishing = new definition_pb_1.Publishing()
.setValidateMessageType(this.#validateMessageType);
for (const topic of this.#topics) {
publishing.addTopics().setName(topic);
publishing.addTopics().setResourceNamespace(this.namespace);
}
return new definition_pb_1.Settings()
.setClientType(this.clientType)
.setAccessPoint(this.accessPoint.toProtobuf())
.setRequestTimeout((0, util_1.createDuration)(this.requestTimeout))
.setPublishing(publishing)
.setUserAgent(client_1.UserAgent.INSTANCE.toProtobuf());
}
sync(settings) {
if (settings.getPubSubCase() !== definition_pb_1.Settings.PubSubCase.PUBLISHING) {
// log.error("[Bug] Issued settings not match with the client type, clientId={}, pubSubCase={}, "
// + "clientType={}", clientId, pubSubCase, clientType);
return;
}
const backoffPolicy = settings.getBackoffPolicy();
const publishing = settings.getPublishing().toObject();
const exist = this.retryPolicy;
this.retryPolicy = exist.inheritBackoff(backoffPolicy);
this.#validateMessageType = publishing.validateMessageType;
this.#maxBodySizeBytes = publishing.maxBodySize;
}
}
exports.PublishingSettings = PublishingSettings;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHVibGlzaGluZ1NldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb2R1Y2VyL1B1Ymxpc2hpbmdTZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCxnRkFJc0Q7QUFHdEQsc0NBQWdEO0FBQ2hELGtDQUF5QztBQUV6QyxNQUFhLGtCQUFtQixTQUFRLGlCQUFRO0lBQ3JDLE9BQU8sQ0FBYztJQUM5Qjs7OztPQUlHO0lBQ0gsaUJBQWlCLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7SUFDcEMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0lBRTVCLFlBQVksU0FBaUIsRUFBRSxRQUFnQixFQUFFLFdBQXNCLEVBQUUsV0FBMEMsRUFBRSxjQUFzQixFQUFFLE1BQW1CO1FBQzlKLEtBQUssQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLDBCQUFVLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLFVBQVUsR0FBRyxJQUFJLDBCQUFVLEVBQUU7YUFDaEMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDckQsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxPQUFPLElBQUksd0JBQVUsRUFBRTthQUNwQixhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUM5QixjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUM3QyxpQkFBaUIsQ0FBQyxJQUFBLHFCQUFjLEVBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3RELGFBQWEsQ0FBQyxVQUFVLENBQUM7YUFDekIsWUFBWSxDQUFDLGtCQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksQ0FBQyxRQUFvQjtRQUN2QixJQUFJLFFBQVEsQ0FBQyxhQUFhLEVBQUUsS0FBSyx3QkFBVSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsRSxpR0FBaUc7WUFDakcsOERBQThEO1lBQzlELE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixFQUFHLENBQUM7UUFDbkQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGFBQWEsRUFBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFZLENBQUM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxVQUFVLENBQUMsbUJBQW1CLENBQUM7UUFDM0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7SUFDbEQsQ0FBQztDQUNGO0FBbkRELGdEQW1EQyJ9