使用多线程的 Java Rest 客户端

标签 java multithreading rest jakarta-ee

我有一个 java Rest 客户端,它会将发布数据保存到 java Rest 服务

我已经开发了 jersey 客户端代码来将数据发布到 Rest 服务。 当我执行我的客户端应用程序时

  1. 它将连接到数据库并执行选择查询
  2. 它将连接到 Rest 服务 URL 并发布数据

我的代码:

select * from Workorder

for(int i =0;i<workorderList.size(); i++){

   WorkOrder workorder=workorderLit.get(i);

   WebResource webResource = client
                    .resource("http://localhost:8013/Workorderrest/rest/inbound/update");

   ClientResponse response = webResource.accept("application/json")
                    .type("application/json")
                    .header("Authorization", "Basic " + authStringEnc)
                    .post(ClientResponse.class, jsonData);   
}

我想在收到来自 Rest Service 的响应时将表列中的状态标志更改为已处理

任何人都可以吗。我想使用多线程发布数据 任何建议

最佳答案

我试过了,下面的一个对我有用...

ClientThread.java

package com.test;

    import javax.ws.rs.core.MediaType;

    import com.sun.jersey.api.client.Client;
    import com.sun.jersey.api.client.ClientResponse;
    import com.sun.jersey.api.client.WebResource;

    public class ClientThread extends Thread{

    Client client = null;
    WebResource resource = null;

    public ClientThread()
    {
        client = Client.create();
        resource = client.resource("http://localhost:9080/RestfulHelloExample/rest/hello/kumar");

    }
    public void run()
    {
        ClientResponse response = resource.type(MediaType.APPLICATION_XML).get(ClientResponse.class);

        if (response.getStatus() != 200) {
            throw new RuntimeException("Failed : HTTP error code : "
                 + response.getStatus());
        }

        System.out.println("Output from Server .... \n");
        String output = response.getEntity(String.class);
        System.out.println(output);             
    }
    }

TestClient.java

public class TestClient {
public static void main(String[] args) {

    ClientThread t1 = new ClientThread();
    ClientThread t2 = new ClientThread();
    t1.start();
    t2.start();

}

}

如果您有任何问题,请告诉我。

关于使用多线程的 Java Rest 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30588338/

相关文章:

java - 使用 Java Streaming API 从 list.forEach 返回一个列表

java - 根据我当前的位置每秒更新 TextView

java - 将带有空格的字符串解析为 Date,导致 ParseException

带有 UI 线程问题的 WPF - TaskFactory、CollectionView 问题 - 语法噩梦

multithreading - OmniThreadLibrary:如何检测所有递归调度(=池化)线程何时完成?

java - 使用java从服务器端的URL中提取参数

java - MongoDB Java API : Difference between com. mongodb.DBCollection.Save() 和 com.mongodb.DBCollection.Insert()?

c# - 线程池程序在更快的服务器上运行得更慢

rest - 我可以直接在MS Access数据上使用LINQPad,还是可以将args传递给Web API Rest方法?

java - 如何使用 Quarkus 以双向 SSL 从 REST 服务中的请求中检索客户端证书