标签: asynchttpclient

如何使用 Apache Beam (Java) 进行异步 Http 调用?

输入PCollection是http请求,它是一个有界数据集。我想在 ParDo 中进行异步 http 调用(Java),解析响应并将结果放入输出 PCollection 中。我的代码如下。获取异常如下。

我不明白原因。需要指导....

java.util.concurrent.CompletionException: java.lang.IllegalStateException: Can't add element ValueInGlobalWindow{value=streaming.mapserver.backfill.EnrichedPoint@2c59e, pane=PaneInfo.NO_FIRING} to committed bundle in PCollection Call Map Server With Rate Throttle/ParMultiDo(ProcessRequests).output [PCollection]
Run Code Online (Sandbox Code Playgroud)

代码

public class ProcessRequestsFn extends DoFn<PreparedRequest,EnrichedPoint> {
    private static AsyncHttpClient _HttpClientAsync;
    private static ExecutorService _ExecutorService;

static{

    AsyncHttpClientConfig cg = config()
            .setKeepAlive(true)
            .setDisableHttpsEndpointIdentificationAlgorithm(true)
            .setUseInsecureTrustManager(true)
            .addRequestFilter(new RateLimitedThrottleRequestFilter(100,1000))
            .build();

    _HttpClientAsync = asyncHttpClient(cg);

    _ExecutorService = Executors.newCachedThreadPool();

}


@DoFn.ProcessElement
public void processElement(ProcessContext c) {

    PreparedRequest request = c.element();

    if(request == null)
        return;

    _HttpClientAsync.prepareGet((request.getRequest()))
            .execute()
            .toCompletableFuture()
            .thenApply(response -> …
Run Code Online (Sandbox Code Playgroud)

asynchttpclient apache-beam

2
推荐指数
1
解决办法
4366
查看次数

Android - loopJ AsyncHttpClient返回响应onFinish或onSuccess

我正在寻找一种方法来返回我在loopJ AsyncHttpClient onFinish或onSuccess或onFailure中得到的响应.截至目前,我有这段代码:

**jsonParse.java file**
public class jsonParse {
    static JSONObject jObj = null;
    static String jsonString = "";
    AsyncHttpClient client;

      public JSONObject getJSONObj() {
            RequestParams params;
            params = new RequestParams();
            params.add("username", "user");
            params.add("password", "password");
            client = new AsyncHttpClient();
            client.post("http://example.com", params, new TextHttpResponseHandler() {

                @Override
                public void onSuccess(int i, Header[] headers, String response) {
                    jsonString = response;
                    Log.d("onSuccess: ", jsonString);
                }

                @Override
                public void onFailure(int statusCode, Header[] headers, String response, Throwable e) {
                    if (statusCode == 401) {
                        jsonString = …
Run Code Online (Sandbox Code Playgroud)

java android android-asynctask loopj asynchttpclient

1
推荐指数
1
解决办法
1万
查看次数

onSuccess(int,Header [],JSONObject)未被覆盖,但收到了回调

我使用android-async-http,并覆盖所有onSuccessonFailure方法,但我收到错误: onSuccess(int, Header[], JSONObject) was not overriden, but callback was received.

cz.msebera.android.httpclient.client.HttpResponseException: Not Found
Run Code Online (Sandbox Code Playgroud)

我只是想知道我真的覆盖了这个方法.我也得到了日志:onSuccess JSONObject:{"error":null,"success":false}

  public static void querySecurityCode(String username) {
        RequestParams params = new RequestParams();
        params.put("username", username);
        VStarRestClient.getClient().setEnableRedirects(true);
        VStarRestClient.post(GET_SECURITY_CODE_URL, params, new JsonHttpResponseHandler(){
            @Override
            public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
                super.onSuccess(statusCode, headers, response);
                Log.i("ws", "---->>onSuccess JSONObject:" + response);
            }

            @Override
            public void onSuccess(int statusCode, Header[] headers, JSONArray response) {
                super.onSuccess(statusCode, headers, response);
                Log.i("ws", "---->>onSuccess JSONArray");
            }

            @Override
            public …
Run Code Online (Sandbox Code Playgroud)

android httphandler asynchttpclient androidhttpclient

1
推荐指数
1
解决办法
3149
查看次数

获得ListenableFuture后立即获取()

如果我ListenableFuture<X>在使用the调用外部系统时得到一个AsyncHttpClient,并且我get()立即调用- 当前线程是否会等到异步线程准备好响应?如果这是真的,使用的好处是AsyncHttpClient什么?

AsyncHttpClient httpClient = new AsyncHttpClient();
ListenableFuture<Response> futureResponse = httpClient.execute(url, payload, headers);

// If this is immediately on next line, am I getting any benefit?
Response response = futureResponse.get();   
Run Code Online (Sandbox Code Playgroud)

java asynchronous asynchttpclient

1
推荐指数
1
解决办法
1356
查看次数

Android Asynchronous Http Client似乎永远不会回电话

我正在尝试编写一个使用com.loopj.android.http.AsyncHttpClient的Android应用程序.虽然几年前我写了一个Android应用程序,但我很生疏,所以请对我温柔!

在我的应用程序中,我做了一个get,并且没有调用任何回调虚拟方法.为了简化并确保它不是我的应用程序,我基于SDK附带的SupportAppNavigation项目创建了一个新项目.我修改了onCreate代码如下:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Log.i("com.trumphurst", "Creating AsyncHttpClient");
    AsyncHttpClient client = new AsyncHttpClient();
    client.setTimeout(5000);
    Log.i("com.trumphurst", "Getting www.google.com");
    client.get("http://www.google.com", new AsyncHttpResponseHandler() {
        @Override
        public void onSuccess(String response) {
            Log.i("com.trumphurst", "Success");
        }
        @Override
        public void onFailure(Throwable error, String content) {
            Log.i("com.trumphurst", "Failure");
        }
    });
    setListAdapter(new SampleAdapter(querySampleActivities()));
}
Run Code Online (Sandbox Code Playgroud)

(请注意,这是我对SDK附带的示例应用程序所做的唯一代码更改.)

我在调试器下启动了应用程序,并监视了logcat输出.我看到"Creating AsyncHttpClient"和"Getting www.google.com",然后什么也没看到.

我已经为清单添加了一些权限 - 它现在开始了:

<manifest android:versionCode="1"
    android:versionName="1"
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.support.appnavigation">

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<application android:label="@string/app_name">
    <activity android:name=".app.AppNavHomeActivity"
            android:label="@string/app_nav_home_label">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" …
Run Code Online (Sandbox Code Playgroud)

android asynchttpclient

0
推荐指数
1
解决办法
8525
查看次数