Implement SupportsRuntimeConfig: Currenty, the pulsar adapter still implements the deprecated interface `ResolvesContainerProvidedOptions`. Need to implement SupportsRuntimeConfig.
Add new setting `pulsar-subscription-name`: Currently, the pulsar consumer uses the random subscription name, this can not ensure the data consistent for the users
Refactor the adapter by using the asynchronous programming model. Avoid using raw thread to handle the consumption.