Welcome to the new Gigaspaces XAP forum. To recover your account, please follow these instructions.

Ask Your Question

Blocking error on consuming events from partitioned space


We need to implement a blocking event polling container on a partitioned space, after adding @SpaceRouting to the event SpaceEntry we are seeing the error below.

What is the correct way to implement a blocking polling container for events on a partitioned remote space?

For our nonblocking event listener the error is resolved by adding the code below, but we're unsure how to resolve the issue for blocking calls: @ReceiveHandler ReceiveOperationHandler receiveHandler() { AbstractFifoGroupingReceiveOperationHandler handler = new SingleTakeReceiveOperationHandler(); handler.setNonBlocking(true);

SEVERE: [blockedEventListenerContainer] Setup of event listener invoker failed - trying to recover java.lang.IllegalArgumentException: Broadcast is not supported for Read/Take Operations with timeout greater than 0. (Type=com.xyz.event.EventSpaceWrapper ,routing property=id) at com.gigaspaces.internal.client.spaceproxy.operations.ReadTakeEntrySpaceOperationRequest.getPartitionedClusterExecutionType(ReadTakeEntrySpaceOperationRequest.java:113)



asked 2014-05-08 07:52:35 -0500

gordonn gravatar image
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

It looks like you are specifying a timeout on a read or take operation against a partitioned space without specifying a routing field value.

Could you explain in a bit more detail what you need to do?



answered 2014-05-08 08:21:55 -0500

Patrick gravatar image
edit flag offensive delete link more


Hey Patrick,

We are using the XAP Elastic ESM grid in a cluster and have multiple PUs with transactional event polling containers consuming events from a space. We are concerned an event could be consumed by more than one PU's polling container so we would like to lock/block requests each time we consume the event.

The Space entity has been marked with @SpaceRouting as it's a partitioned space and because of this we are hitting restrictions with the timeout (which is left at the default of -1)

The trigger method deploys using the code from the Polling container wiki ( http://wiki.gigaspaces.com/wiki/displ... ), but i'm unsure if blocking/locking is enabled using the Trigger instead of @ReceiveHandler

@EventDriven @Polling @TransactionalEvent public class SimpleListener {

TriggerOperationHandler receiveHandler() {
    ReadTriggerOperationHandler triggerHandler = new ReadTriggerOperationHandler();
    return triggerHandler;

Data unprocessedData() {
    Data template = new Data();
    return template;

public Data eventListener(Data event) {
    //process Data here


gordonn gravatar imagegordonn ( 2014-05-08 09:15:46 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2014-05-08 07:52:35 -0500

Seen: 504 times

Last updated: May 08 '14