- Stabilized authorizer integration tests by mocking
axiosresponses instead of relying on external DNS/network. - Updated Jest configuration to ignore
/lib/and/src/test.tsso non-test runner files are not executed as tests. - Added optional
applicationPropertiesargument to topicpublish(...)API. - Updated Azure Service Bus topic publish implementation to send
applicationPropertieswith message body. - Updated local topic and topic abstraction signatures for compatibility with the new publish contract.
- Added/updated unit tests to verify
applicationPropertiesforwarding and publish behavior across Azure/local topic paths.
- Added additional debug logs
- Introduced a new helper method
shouldRecreateReceiverthat inspects errors (e.g.,GeneralError,ServiceCommunicationError, errors containing "Unknown error occurred", or whenretryableis true) to determine if the receiver should be reinitialized. This change ensures that transient or fatal connection errors do not break the polling loop. - Instead of rejecting the promise on errors (which would break the subscription), the updated logic:
- Logs the error.
- Checks if the error warrants a receiver re-creation via
shouldRecreateReceiver. - Closes the existing receiver if needed and then reinitializes it.
- Continues polling after a short delay (1 second) to maintain uninterrupted message processing.
- Changed the lock renewal interval from 30 seconds to 25 seconds. This provides a safer margin to renew locks before they expire.
- The calling of
subscribeandpublishmethods remain unchanged.
- Added ability to subscribe number concurrent messages (configurable). If maxConcurrentMessages is not passed then it will process the messages according to the number of CPUs.
Core.getTopic('topicName', configuration || null, maxConcurrentMessages=2) - Added ability to hold on acknowledgement until processing is completed
- Added private processMessage function which will hold the acknowledgement until message is fully processed
- Introduces Topic and subscription methods in Core.
- Added methods
- Core.getTopic()
- Added classes and methods
- Topic
- publish
- subscribe
- Topic