Hello, My application uses Pulsar as queues. A Consumer will read a message from topic T1, process it and write a message to topic T2. I have several consumer threads on topic T1 (using a shared subscription). ... clientBuilder.listenerThreads(n); PulsarClient client = clientBuilder.build();
I am getting the following exception when my program terminates: org.apache.pulsar.client.api.PulsarClientException$AlreadyClosedException: Client already closed : state = Closing at org.apache.pulsar.client.api.PulsarClientException.unwrap(PulsarClientException.java:975) at org.apache.pulsar.client.impl.ProducerBuilderImpl.create(ProducerBuilderImpl.java:91) at com.example.messaging.broker.PulsarBroker.publish(PulsarBroker.java:94) It seems that my application closes the PulsarClient after a thread had read a message but before it writes to the second topic. Is there a wait to avoid this issue? If I call consumer.close(); in a Consumer<T> , would it wait for the thread to complete? Or will this just avoid reading a new message? -Jorge