rocketmq-client-nodejs
Version:
RocketMQ Node.js Client
63 lines • 5.32 kB
JavaScript
"use strict";
/**
* 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.LiteStandardConsumeService = void 0;
const ConsumeService_1 = require("./ConsumeService");
const Logger_1 = require("../client/Logger");
/**
* Standard consume service for lite push consumer.
*
* <p>Similar to {@link StandardConsumeService}, but uses
* {@link ProcessQueue#eraseFifoMessage} for local retry on failure, avoiding
* frequent server requests.</p>
*/
class LiteStandardConsumeService extends ConsumeService_1.ConsumeService {
#logger;
constructor(clientId, messageListener) {
super(clientId, messageListener);
this.#logger = (0, Logger_1.getDefaultLogger)();
}
consume(pq, messageViews) {
if (!pq || !messageViews) {
this.#logger.error('[Bug] Invalid arguments for consume, pq=%s, messageViews=%s, clientId=%s', pq, messageViews, this.clientId);
return;
}
this.#logger.debug?.('LiteStandardConsumeService.consume called, messageCount=%d, clientId=%s', messageViews.length, this.clientId);
for (const messageView of messageViews) {
if (messageView.corrupted) {
this.#logger.error('Message is corrupted for lite standard consumption, prepare to discard it, mq=%s, '
+ 'messageId=%s, clientId=%s', pq.getMessageQueue(), messageView.messageId, this.clientId);
pq.discardMessage(messageView);
continue;
}
this.#logger.debug?.('Consuming lite message, messageId=%s, topic=%s, liteTopic=%s, clientId=%s', messageView.messageId, messageView.topic, messageView.liteTopic, this.clientId);
this.consumeMessage(messageView)
.then(result => {
this.#logger.debug?.('Lite message consumed successfully, messageId=%s, result=%s, clientId=%s', messageView.messageId, result, this.clientId);
// Use eraseFifoMessage for local retry on failure, avoiding frequent server requests.
pq.eraseFifoMessage(messageView, result);
})
.catch(err => {
// Should never reach here.
this.#logger.error('[Bug] Exception raised in lite standard consumption callback, clientId=%s, error=%s', this.clientId, err);
});
}
}
}
exports.LiteStandardConsumeService = LiteStandardConsumeService;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGl0ZVN0YW5kYXJkQ29uc3VtZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3VtZXIvTGl0ZVN0YW5kYXJkQ29uc3VtZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBR0gscURBQWtEO0FBR2xELDZDQUE2RDtBQUU3RDs7Ozs7O0dBTUc7QUFDSCxNQUFhLDBCQUEyQixTQUFRLCtCQUFjO0lBQ25ELE9BQU8sQ0FBVTtJQUUxQixZQUFZLFFBQWdCLEVBQUUsZUFBZ0M7UUFDNUQsS0FBSyxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUEseUJBQWdCLEdBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQWdCLEVBQUUsWUFBMkI7UUFDbkQsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLDBFQUEwRSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hJLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyx5RUFBeUUsRUFBRSxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVwSSxLQUFLLE1BQU0sV0FBVyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ3ZDLElBQUksV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxvRkFBb0Y7c0JBQ25HLDJCQUEyQixFQUMvQixFQUFFLENBQUMsZUFBZSxFQUFFLEVBQUUsV0FBVyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVELEVBQUUsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQy9CLFNBQVM7WUFDWCxDQUFDO1lBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQywyRUFBMkUsRUFDOUYsV0FBVyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRWxGLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO2lCQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQywwRUFBMEUsRUFDN0YsV0FBVyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNoRCxzRkFBc0Y7Z0JBQ3RGLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDM0MsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDWCwyQkFBMkI7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLHFGQUFxRixFQUN0RyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTFDRCxnRUEwQ0MifQ==