wrapper在java应用中的bug

先介绍下wrapper是个什么东西,下面的简单解释是直接Google出来的:

Java Service Wrapper可以把Java应用程序安装成一个Windows NT服务或Unix Daemon.它同时还为应用程序提供日记功能,灵活的配置,可靠的运行性能,按需求重新启动,简化应用程序的安装等

去年的java项目用了这个东西,在入口类使用接口WrapperListener,继承了WrapperListenerstart(),stop(),在项目外层指定入口类,wrapper会通过start()启动虚拟机,这里有些东西要弄清楚。

通过wrapper启动服务的时候,一共是启动了两个进程,一个wrapper服务,一个java虚拟机服务。

wrapper通过轮询的方式询问java虚拟机,以保证服务正常。问题就出在这里,java虚拟机做GC的时候,所有的线程会被挂起,包括响应轮询的线程。在默认的配置里面没有设置轮询超时时间的项,默认是3s。如果3sgc还没完毕则会使得轮询超时,wrapper会认为服务不正常,自动调用stop();start();重启java虚拟机服务。

这个问题必须显式的配置wrapper.ping.timeout和wrapper.ping.interval,一个是超时时间,一个是轮询间隔时间。相关的内容可以在官网看到

http://wrapper.tanukisoftware.com/doc/english/prop-ping-timeout.html 

http://wrapper.tanukisoftware.com/doc/english/prop-ping-interval.html 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QueryWrapper是MyBatis-Plus框架的一个查询条件构造器,用于构建和拼接数据库查询条件。它提供了一系列方法,可以方便地操作数据库表的查询操作。 下面是使用QueryWrapper的详细说明: 1. 导入依赖:首先,确保你的项目已经引入了MyBatis-Plus的依赖。 2. 创建QueryWrapper对象:通过new关键字创建一个QueryWrapper对象,例如: ```java QueryWrapper<User> queryWrapper = new QueryWrapper<>(); ``` 3. 设置查询条件:通过QueryWrapper对象的方法来设置查询条件,例如: ```java queryWrapper.eq("name", "Tom"); // 等于条件 queryWrapper.ne("age", 20); // 不等于条件 queryWrapper.gt("age", 18); // 大于条件 queryWrapper.ge("age", 20); // 大于等于条件 queryWrapper.lt("age", 30); // 小于条件 queryWrapper.le("age", 25); // 小于等于条件 queryWrapper.like("name", "S%"); // 模糊查询条件,以S开头的名字 ``` 4. 调用查询方法:通过MyBatis-Plus提供的API调用查询方法,例如: ```java List<User> userList = userMapper.selectList(queryWrapper); ``` 5. 其他常用方法: - and()、or():用于拼接多个查询条件,默认为and关系。 - orderByAsc()、orderByDesc():用于设置排序字段和排序方式。 - last():用于拼接自定义的SQL语句。 - select():用于设置要查询的字段。 - in()、notIn():用于设置字段值的集合条件。 - between():用于设置字段值的范围条件。 以上就是使用QueryWrapper进行查询的基本步骤和常用方法。通过灵活使用QueryWrapper,可以方便地构建各种复杂的查询条件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值