/** * */ package org.drools.grid.internal.responsehandlers; import java.util.Map; import org.drools.grid.io.Conversation; import org.drools.grid.io.IoWriter; import org.drools.grid.io.Message; import org.drools.grid.io.MessageReceiverHandler; public class BlockingMessageDirectoryMapRequestResponseHandler extends AbstractBlockingResponseHandler implements MessageReceiverHandler { private static final int ATTACHMENT_ID_WAIT_TIME = 100000; private static final int CONTENT_ID_WAIT_TIME = 50000; private Map<String, String> directoryMap; private volatile Message message; public synchronized void messageReceived(Conversation conversation, 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; } }