你打球还不够蔡 2022-03-30 11:08 采纳率: 0%
浏览 29

未锁表,执行SQL后类似死循环。

跟别的系统有一个接口,对方传参过来,我按参数到表里查询返回给对方。

现在问题是,执行sql那一句,

 listmap = this.findMapBySql("SELECT * FROM SEND_MESSAGE_DATA WHERE SAMPLE_NO_='"+ maps.get("SampleNo").toString() +"' "
                        + "AND WORKING_PROCEDURE_='"+ maps.get("WorkingProcedure").toString() +"'");

进入死循环。

 

@Component
public class DealMain   implements CommandLineRunner {
    
    class DyanHttpHandler extends BaseBO implements HttpHandler
    {    
//        private CaijiService caiji = new CaijiService();
        @Autowired
        CaijiService caijiService;
        
        @Override
        public void handle(HttpExchange arg0) throws IOException {
            System.out.println("accept an exchange from internet.....");
            
            String resp = "your request message i get it!";
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(arg0.getRequestBody()));
            StringBuffer sb = new StringBuffer("");
            String temp ="";
            while((temp = bufferedReader.readLine()) != null) {
                sb.append(temp);
            }
//            System.out.println(sb);
            JSONArray array = JSONArray.parseArray(sb.toString());
//            System.out.println("list:"+array);
            List<Map<String, Object>> listmap = new ArrayList<Map<String, Object>>();
            List<Map<String, Object>> test = new ArrayList<Map<String, Object>>();
            for (int i = 0; i < array.size(); i++) {
                Map<String,Object> maps =(Map)JSONObject.parseObject(array.get(i).toString());
                System.out.println(maps.get("SampleNo"));
                listmap.add(maps);
                
                listmap = this.findMapBySql("SELECT * FROM SEND_MESSAGE_DATA WHERE SAMPLE_NO_='"+ maps.get("SampleNo").toString() +"' "
                        + "AND WORKING_PROCEDURE_='"+ maps.get("WorkingProcedure").toString() +"'");
            }
            Map<String, Object> returnmap = new ConcurrentHashMap<String, Object>();
            JSONObject returnob = JSONObject.parseObject(returnmap.toString());
            arg0.sendResponseHeaders(200, returnob.toString().length());
            OutputStream out = arg0.getResponseBody();
            out.write(returnob.toString().getBytes());
            out.flush();
            arg0.close();
        }
        
    }


    @Override
    public void run(String... args) throws Exception {
        System.err.println("启动!");
        HttpServerProvider provider = HttpServerProvider.provider();
        
        HttpServer server = provider.createHttpServer(new InetSocketAddress(8080), 10);
        
        server.createContext("/ToL3", new DealMain().new DyanHttpHandler());
        
        server.setExecutor(null);
        server.start();
    }
}
 

  • 写回答

1条回答 默认 最新

  • 猫巳 Java领域优质创作者 2022-05-22 16:21
    关注

    listmap.add(maps); 把这句去掉试试

    评论

报告相同问题?

问题事件

  • 创建了问题 3月30日

悬赏问题

  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档