コード例 #1
0
ファイル: AvroHttpConsumer.java プロジェクト: NersesAM/camel
 @Override
 protected void doStop() throws Exception {
   super.doStop();
   if (server != null) {
     server.close();
   }
 }
コード例 #2
0
ファイル: AvroResponder.java プロジェクト: NersesAM/camel
  @Override
  public Object respond(Protocol.Message message, Object request) throws Exception {
    Object response;
    int numParams = message.getRequest().getFields().size();
    Object[] params = new Object[numParams];
    Class<?>[] paramTypes = new Class[numParams];
    int i = 0;
    for (Schema.Field param : message.getRequest().getFields()) {
      params[i] = ((GenericRecord) request).get(param.name());
      paramTypes[i] = SpecificData.get().getClass(param.schema());
      i++;
    }
    Exchange exchange = consumer.getEndpoint().createExchange(message, params);

    try {
      consumer.getProcessor().process(exchange);
    } catch (Throwable e) {
      consumer.getExceptionHandler().handleException(e);
    }

    if (ExchangeHelper.isOutCapable(exchange)) {
      response = exchange.getOut().getBody();
    } else {
      response = null;
    }

    boolean failed = exchange.isFailed();
    if (failed) {
      if (exchange.getException() != null) {
        response = exchange.getException();
      } else {
        // failed and no exception, must be a fault
        response = exchange.getOut().getBody();
      }
    }
    return response;
  }
コード例 #3
0
ファイル: AvroResponder.java プロジェクト: NersesAM/camel
 public AvroResponder(AvroConsumer consumer) {
   super(consumer.getEndpoint().getProtocol(), null);
   this.consumer = consumer;
 }