Hi Yannick,
My understanding about subscription process is I need to create to separate service account for different subscriber. Please correct me if I am wrong.
Here is my configuration:
I have one toipc & 2 subscribers and for each subscriber I have separate subscription process .
1. Publishing 102 messages
2. I am sending ack notification from each subscription process.
Issue:
1. Running subscription - 1 process. Sometime it process 50 or 60 or 38 messages. It's random
2. Running subscription - 2 process. There is no message to process
Here is my subscription code snippets
MessageReceiver receiver = new MessageReceiver() {
@Override
public void receiveMessage(
PubsubMessage message, AckReplyConsumer consumer) {
System.out.println("MessageID::"+message.getMessageId()+" Message Data::"+message.getData().toStringUtf8());
messages.add(message);
consumer.ack();
}
};
try {
subscriber = Subscriber.defaultBuilder(SubscriptionName.parse(localHashMap.get(ARG_SUBSCRIPTION_NAME)), receiver).setCredentialsProvider(PubSubUtil.createPubsubCredentials(localHashMap.get(ARG_PUBSUB_CRDNTL_FILE))).build();
subscriber = createSubscriberWithErrorListener (subscriber, received);
subscriber.startAsync().awaitRunning();
Thread.sleep(6000);
} catch(Exception e){
System.out.println("ERROR::"+e.getMessage());
throw e;
}
finally {
if (subscriber != null) {
subscriber.stopAsync();
}
}
Can you please let me know why this issues are?