Add Multi-Topic Support to Consumer (#130)

* Add Multi-Topic Support to Consumer

Adds multi-topic support from the C++ library by utilizing pulsar_client_subscribe_multi_topics_async.

* Update c_topics to cTopics

Change from snake_case to camelCase

Co-authored-by: savearray2 <savearray2>
5 files changed
tree: 9b48331f062e9462d9c015dee474fc79df9c604b
  1. .asf.yaml
  2. .clang-format
  3. .eslintignore
  4. .eslintrc.json
  5. .github/
  6. .gitignore
  7. Gruntfile.js
  8. LICENSE
  9. README.md
  10. binding.gyp
  11. docker-tests.sh
  12. examples/
  13. index.js
  14. license-header.txt
  15. package-lock.json
  16. package.json
  17. perf/
  18. pulsar-test-service-start.sh
  19. pulsar-test-service-stop.sh
  20. pulsar-version.txt
  21. run-unit-tests.sh
  22. src/
  23. tests/
README.md

Pulsar Node.js client library

The Pulsar Node.js client can be used to create Pulsar producers and consumers in Node.js.

Requirements

Pulsar Node.js client library is based on the C++ client library. Follow the instructions for C++ library for installing the binaries through RPM, Deb or Homebrew packages.

(Note: you will need to install not only the pulsar-client library but also the pulsar-client-dev library)

Also, this library works only in Node.js 10.x or later because it uses the node-addon-api module to wrap the C++ library.

Compatibility

Compatibility between each version of the Node.js client and the C++ client is as follows:

Node.js clientC++ client
1.0.02.3.0 or later
1.1.02.4.0 or later
1.2.02.5.0 or later

If an incompatible version of the C++ client is installed, you may fail to build or run this library.

How to install

Please install pulsar-client in your project:

$ npm install pulsar-client

Typescript Definitions

$ npm install @types/pulsar-client --save-dev

Sample code

Please refer to examples.

How to build

Install dependent npm modules and build Pulsar client library:

$ git clone https://github.com/apache/pulsar-client-node.git
$ cd pulsar-client-node
$ npm install

Rebuild Pulsar client library:

$ npm run build