Month: November 2018

  • RabittMQ RPC Request/Response example

    RabittMQ RPC Request/Response example using hoplin.io library

    Following example creates RPC client and then setups Async response handler, which follows by the request to get processed.

    Hoplin client supports both Direct-Reply and Queue per Request/Response patterns.

    RpcClient<LogDetailRequest, LogDetailResponse> client = DefaultRpcClient.create(options(), bind());
    
    // rpc response
    client.respondAsync((request)->
    {
    	final LogDetailResponse response = new LogDetailResponse("Response message", "info");
    	return response;
    });
    
    
    // rpc request
    final LogDetailResponse response = client.request(new LogDetailRequest("Request message", "info"));
    log.info("RPC response : {} ", response);

    This is the binding that is used to create our client.

      private static Binding bind()
        {
            return BindingBuilder
                    .bind("rpc.request.log")
                    .to(new FanoutExchange("rpc.logs"));
        }