/** * */ package org.drools.grid.internal.responsehandlers; import org.drools.grid.internal.Message; import org.drools.grid.internal.MessageResponseHandler; public class BlockingMessageResponseHandler extends AbstractBlockingResponseHandler implements MessageResponseHandler { private static final int ATTACHMENT_ID_WAIT_TIME = 100000; private static final int CONTENT_ID_WAIT_TIME = 50000; private volatile Message message; public synchronized void receive(Message message) { this.message = message; setDone( true ); } public Message getMessage() { boolean done = waitTillDone( CONTENT_ID_WAIT_TIME ); if ( !done ) { throw new RuntimeException( "Timeout : unable to retrieve Object Id" ); } return this.message; } }