This is the design of the serial AsyncEventQueue. For the same id, one member has the primary AsyncEventQueue, and the other member(s) have the secondaries. In this case, the id="transactionQueue".
The way to implement what you want is to give the AsyncEventQueue a different id in each member. Then, they will act independently.
How are the region(s) defined that are using the AsyncEventQueue? If they are local, then all you should need to do is to change the async-event-queue-ids to point to the new id. If they are replicated or partitioned, then its more complicated. You'll have to:
- add a local proxy region between the real region and the AsyncEventQueue and a CacheListener to forward events from the real region to the local proxy region
- remove the async-event-queue-ids from the real region and set it on the local proxy region
I can send you an example of this if you need it.