界面实时刷新线程信息

实时刷新线程信息,可以使用下面的方式

/**
     * 初始化jvm连接管理信息.
     */
    $(document).ready(function () {
          var appName = $('#appName').val();
          initJvmConnListByAppName(appName);//初始化时执行.
              showJvmRuntime();
          $('#appName').change(function(){
              var appName=$(this).children('option:selected').val();//这就是selected的值
              initJvmConnListByAppName(appName);//
              showJvmRuntime();
          });
    
          $('#url').change(function(){
              showJvmRuntime();
          });
     });
   
    /**
     * 根据连接信息
     * @param url
     */
    function showJvmRuntime(url){
        showJvm()
        setTimeout(showJvmRuntime, 3000);
    }
        
        function showJvm(){
 
        var url = $('#url').val();
        $.ajax({
            type: "GET",
            url: "/threadRuntime.do",
            data: {url:url},
            dataType: "text",
            success: function(data){
                if(data==''||data=='null'||data=='[]')
                    return;

                var result = JSON.parse(data);
                var rowHtml = new Array();
                for (var service in result) {
                    var id = result[service].id;
                    var name = result[service].name;
                    var state = result[service].state;

                                        rowHtml.push("<tr>");
                    rowHtml.push("<td name=\"id\">" + id + "</td>");
                    rowHtml.push("<td>" + name + "</td>");
                    rowHtml.push("<td>" + state + "</td>");
                    rowHtml.push("</tr>");
                }
                rowHtml = rowHtml.join("");
                $("#jvmRuntime tbody").html(rowHtml);
            }
        });
    }

  不要每次开始时清楚,$("#jvmRuntime tbody").clear()不要在每次前执行,会导致

刷新很慢,导致界面很长时间不可用。直接用每次写$("#jvmRuntime tbody").html()

信息方式就可以实现实时更新。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java成长之路

使用并行流还是CompletableFuture(四)

我们知道,对集合进行计算,可以使用并行和异步的CompletableFuture操作,都可以加快其处理,那么到底该使用并行还是异步呢?

1155
来自专栏Alice

iOS开发多线程在实际项目中的运用

        同一时间,CPU只能处理一条线程,也就是只有一条线程在工作。所谓多线程并发(同时)执行,

742
来自专栏Golang语言社区

高性能IO模型浅析

服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型。 (2)同步非阻塞IO(Non...

27111
来自专栏代码世界

Python之协程

前言         在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。按道理来说我们已经算是把cpu的利用率提高很多了。但是我们知道无论是创建...

2607
来自专栏JMCui

Netty 系列二(传输).

    上一篇文章我们提到 Netty 的核心组件是 Channel、回调、Future、ChannelHandler、EventLoop,这篇文章主要是对 C...

1052
来自专栏三丰SanFeng

Linux同步机制 - 多线程开发总结

1 对于CPU开销大的场景,能利用多核,就尽量利用多核(常常自以为某需求的运算量不大,且CPU足够快,就偷懒写个单线程,结果效率很低) 2 使用多线程的时候,默...

1779
来自专栏java一日一条

Java高效并发之乐观锁悲观锁、(互斥同步、非互斥同步)

首先我们理解下两种不同思路的锁,乐观锁和悲观锁。 这两种锁机制,是在多用户环境并发控制的两种所机制。下面看百度百科对乐观锁和悲观锁两种锁机制的定义:

923
来自专栏Java3y

操作系统第二篇【进程管理】

2016
来自专栏后端技术探索

apache和nginx那点事儿--阻塞和异步

先明白的事儿:当一个程序在执行的时候,一般会创建一个进程,也可以有多个进程。一个进程至少会创建一个线程,多个线程共享一个程序进程的内存。程序的运行最终是靠线程来...

1124
来自专栏IT技术精选文摘

Netty高性能之道

1. 背景 1.1. 惊人的性能数据 最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K...

2297

扫码关注云+社区