Java类应用监控应该监控哪些

Java类应用监控应该监控哪些,第1张

当有问题出现时,许多开发人员可能会比较盲目的用这些工具来试探性定位问题,而大多数情况下,这种试探会无功而返。因为这些分析工具主要是侧重Java单方面的分析,比如该系统调用第三方API,如果第三方API有问题,是无法监控到的。还有像文件、DB资源的访问也是是无法监控到的。

除了JAVA自带的监控工具外,我们尝试了第三方的监控工具透视宝,功能相对全面,且易操作。

在功能方面,透视宝都包括:查看执行最慢的10个元素,包括元素执行次数、持续时长和占用时长百分比;查看HTTP请求参数,包括请求的响应状态、链接页面、具体的请求参数及返回结果;查看代码执行堆栈的详细树状信息,包括每个方法的计算时间、总耗时和被调用的次数,您能直接看到特殊标识的最慢方法;查看涉及SQL语句的总耗时排序,包括SQL执行总耗时、执行次数和具体的查询语句;第三方API调用。

使用java的定时器

首先创建一个Servlet监听器,(服务器一启动监听器就执行的)

在监听器中创建一个定时器(这才是最重要的)

创建一条短信发送线程(主要用来发送短信)

定时器每5秒查一次数据库(这个时间可以自己定义,当然也可以直接用线程+死循环执行)

当发现数据后立马传递给短信的线程

Servlet监听器: ServletContextListener

java定时器TimerTask

实现起来代码挺多的,这里就不一一列出了,如果不明白欢迎追问,请采纳哈

追问

用定时器会不会耗资源? 另外发送短信的线程是买短信猫的时候商家就提供好的直接条用一个函数,我需要把新添加的数据查询出来。定时器可以操作查询吗?

回答

不会,一条线程不会耗什么资源的,这个你可以测试一下,我说的这种方法,就类似消息队列(你也可以查看一下消息队列的机制)android 里就有个消息队列,里面就是一个死循环不停的取消息,和发消息

也就是说你这个定时器就固定专门用来查询消息,一但发现了数据,就调用你商家就提供好的函数

触发器只能触发数据的事件,不能触发java的事件,貌似实现不了的

希望能够帮助到你,望采纳!

问题简化起来就是A->B->C的关系,即B(可以上外网的机器)作为代理层来转发局域网内的外网请求。

在B上封装下百度地图API,然后向局域网内发布,这样A之类的内网机器就可以通过B访问百class B {

public static whatever getMap() {

return BadiuApigetMap();

}

}

对于使用命令行远程监控jvm太麻烦。在jdk16中Oracle提供了一个新的可视化的。JVM监控工具JavaVisualVM。jvisualvmexe在JDK的bin目录下。“本地”下显示的是在localhost运行的Java程序的资源占用情况,如果本地有Java程序在运行的话启动JavaVisualVM即可看到相应的程序名,点击程序名打开相应的资源监控菜单,以图形的形式列出程序所占用的CPU、Heap、PermGen、类、线程的统计信息。“远程”项下列出的远程主机上的Java程序的资源占用情况,但需要在远程主机上运行jstatd守护程序

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Java类应用监控应该监控哪些

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情