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