跟别的系统有一个接口,对方传参过来,我按参数到表里查询返回给对方。
现在问题是,执行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();
}
}