Adding async example.
Project: http://git-wip-us.apache.org/repos/asf/incubator-blur/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-blur/commit/5463c252 Tree: http://git-wip-us.apache.org/repos/asf/incubator-blur/tree/5463c252 Diff: http://git-wip-us.apache.org/repos/asf/incubator-blur/diff/5463c252 Branch: refs/heads/0.2.0-newtypesystem Commit: 5463c252726a377b05403d2a5e7412c2c3bda30b Parents: 0ceec0e Author: Aaron McCurry <[email protected]> Authored: Tue Jul 23 08:03:54 2013 -0400 Committer: Aaron McCurry <[email protected]> Committed: Tue Jul 23 08:03:54 2013 -0400 ---------------------------------------------------------------------- .../thrift/util/SimpleAsyncQueryExample.java | 73 ++++++++++++++++++++ 1 file changed, 73 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/5463c252/blur-thrift/src/main/java/org/apache/blur/thrift/util/SimpleAsyncQueryExample.java ---------------------------------------------------------------------- diff --git a/blur-thrift/src/main/java/org/apache/blur/thrift/util/SimpleAsyncQueryExample.java b/blur-thrift/src/main/java/org/apache/blur/thrift/util/SimpleAsyncQueryExample.java new file mode 100644 index 0000000..f408811 --- /dev/null +++ b/blur-thrift/src/main/java/org/apache/blur/thrift/util/SimpleAsyncQueryExample.java @@ -0,0 +1,73 @@ +package org.apache.blur.thrift.util; + +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import java.io.IOException; + +import org.apache.blur.thirdparty.thrift_0_9_0.TException; +import org.apache.blur.thirdparty.thrift_0_9_0.async.AsyncMethodCallback; +import org.apache.blur.thrift.AsyncClientPool; +import org.apache.blur.thrift.generated.Blur; +import org.apache.blur.thrift.generated.Blur.AsyncClient.query_call; +import org.apache.blur.thrift.generated.Blur.AsyncIface; +import org.apache.blur.thrift.generated.BlurException; +import org.apache.blur.thrift.generated.BlurQuery; +import org.apache.blur.thrift.generated.BlurResult; +import org.apache.blur.thrift.generated.BlurResults; +import org.apache.blur.thrift.generated.SimpleQuery; + +public class SimpleAsyncQueryExample { + + public static void main(String[] args) throws BlurException, TException, IOException, InterruptedException { + String connectionStr = args[0]; + String tableName = args[1]; + String query = args[2]; + + AsyncClientPool pool = new AsyncClientPool(10, 30000); + + AsyncIface asyncIface = pool.getClient(Blur.AsyncIface.class, connectionStr); + + final BlurQuery blurQuery = new BlurQuery(); + SimpleQuery simpleQuery = new SimpleQuery(); + blurQuery.setSimpleQuery(simpleQuery); + simpleQuery.setQueryStr(query); + + asyncIface.query(tableName, blurQuery, new AsyncMethodCallback<Blur.AsyncClient.query_call>() { + @Override + public void onError(Exception exception) { + exception.printStackTrace(); + } + + @Override + public void onComplete(query_call response) { + try { + BlurResults results = response.getResult(); + System.out.println("Total Results: " + results.totalResults); + for (BlurResult result : results.getResults()) { + System.out.println(result); + } + } catch (BlurException e) { + e.printStackTrace(); + } catch (TException e) { + e.printStackTrace(); + } + } + }); + Thread.sleep(10000); + + } +}
