1+ /**
2+ * Licensed to the Apache Software Foundation (ASF) under one
3+ * or more contributor license agreements. See the NOTICE file
4+ * distributed with this work for additional information
5+ * regarding copyright ownership. The ASF licenses this file
6+ * to you under the Apache License, Version 2.0 (the
7+ * "License"); you may not use this file except in compliance
8+ * with the License. You may obtain a copy of the License at
9+ *
10+ * http://www.apache.org/licenses/LICENSE-2.0
11+ *
12+ * Unless required by applicable law or agreed to in writing,
13+ * software distributed under the License is distributed on an
14+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+ * KIND, either express or implied. See the License for the
16+ * specific language governing permissions and limitations
17+ * under the License.
18+ */
19+
20+ const Pulsar = require ( 'pulsar-client' ) ;
21+
22+ ( async ( ) => {
23+ // Create a client
24+ const client = new Pulsar . Client ( {
25+ serviceUrl : 'pulsar://localhost:6650' ,
26+ operationTimeoutSeconds : 30 ,
27+ } ) ;
28+
29+ // Create a consumer
30+ const consumer = await client . subscribe ( {
31+ topic : 'persistent://public/default/my-topic' ,
32+ subscription : 'sub1' ,
33+ subscriptionType : 'Shared' ,
34+ ackTimeoutMs : 10000 ,
35+ } ) ;
36+
37+ // Receive messages
38+ for ( let i = 0 ; i < 10 ; i += 1 ) {
39+ const msg = await consumer . receive ( ) ;
40+ console . log ( msg . getData ( ) . toString ( ) ) ;
41+ consumer . acknowledge ( msg ) ;
42+ }
43+
44+ await consumer . close ( ) ;
45+ await client . close ( ) ;
46+ } ) ( ) ;
0 commit comments