Skip to content

Instantly share code, notes, and snippets.

@jsanda
Created December 7, 2015 20:47
Show Gist options
  • Save jsanda/8e850515faed36be9150 to your computer and use it in GitHub Desktop.
Save jsanda/8e850515faed36be9150 to your computer and use it in GitHub Desktop.
public class QueryListener extends RPCBasicMessageListener<InventoryQueryRequestMessage> {
private final Inventory inventory;
@Inject
private Bus bus;
@Resource(mappedName = "java:/jms/queue/INVENTORY_QUEUE_NAME")
Queue queue;
public QueryListener(Inventory inventory) {
this.inventory = inventory;
bus.listen(queue, this);
}
@Override
public InventoryQueryResponseMessage onBasicMessage(
BasicMessageWithExtraData<InventoryQueryRequestMessage> queryMessage) {
Log.LOG.info("\n\nBUS query message\n\n");
//
Class<? extends AbstractElement<?, ?>> requestedType = queryMessage.getBasicMessage().getType();
List<? extends AbstractElement<?, ?>> result = inventory.execute(queryMessage.getBasicMessage().getQuery(),
requestedType);
InventoryQueryResponseMessage response = new InventoryQueryResponseMessage(result);
bus.send(queryMessage.getJMSReplyTo(), response);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment