springboot中如何创建定时任务,以及corn表达式规则

首先,需要在主启动类上添加@EnableScheduling注解,开启定时任务相关配置。@SpringBootApplication@EnableSchedulingpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }}然后就是创建定时任务类,注意添加@Component,将对象添加进容器中,并在相关的方法
分类: 其他 发布时间: 01-26 23:13 阅读次数: 0

记录一次k3的SQLServerException: 将截断字符串或二进制数据

首先,自己非金蝶的开发人员,在一个项目中,甲方k3的一个报表打开时报了这个异常,然后抓住我们不放,冤大头,碰都没碰他的ERP。诶~。其实也不是没碰,测试环境会读正式环境的数据。但是,对于一个不懂代码的人来说,用了好几年都没问题的功能,突然有一天出了问题,那肯定是有人动了手脚。我。。。其实也有可能是从来都没有遇到的bug,今天才遇到。SQLServerException: 将截断字符串或二进制数据多半是变量的大小超出了某个字段的给定范围,但是我咋知道是哪个字段嘛。去服务器上找了半天还没找到日志在哪儿,又是
分类: 其他 发布时间: 01-26 23:13 阅读次数: 0

java向上向下取整与四舍五入

以float f = 1.65f为例向上取整Math.ceil(f) //2.0向下取整Math.floor(f) //1.0四舍五入Math.rint(f) //2.0当float f = 2.5f时,下面四舍五入的结果与我们希望的有些差异。Math.rint(f) //2.0Math.rint遇到.5时会取偶数结果,以上三个方法的返回值均为double类型。使用Math.round进行四舍五入的结果返回值为int,2.5f的返回值为3。...
分类: 其他 发布时间: 01-26 23:13 阅读次数: 0

对于一些敏感的数据(例如密码),为什么使用字符数组存储比使用String更安全?

在Java语言中,String是不可变类,它被存储在常量字符串池中,从而实现了字符串的共享,减少了内存的开支。正因为如此,一旦一个String类型的字符串被创建出来,这个字符串就会存在于常量池中,直到被垃圾回收器回收为止。因此,即使这个字符串(比如密码)不再被使用,它仍然会在内存中存在一段时间(只有垃圾回收器才会回收这块内容,程序员没有办法直接回收字符串)。此时有权限访问memory dump(存储器转储)的程序都可能会访问到这个字符串,从而把敏感的数据暴露出去,这是一个非常大的安全隐患。如果使用.
分类: 其他 发布时间: 01-26 23:12 阅读次数: 0

java泛型,“参数化参数”的基本理解

Java在JDK1.5中引入泛型这一新特性,泛型的本质是参数化类型,也就是说,可以把数据类型指定为一个参数,这个参数类型可以用在类、接口和方法的创建中。泛型在Java语言的Collection中大量地被使用,例如List允许被插入任意类型的对象,在程序中可以声明List、List等更多的类型。那么,什么是参数化类型?其实,参数是一个外部变量。对于一个方法,其参数都是从外部传入的,那么,参数的类型是否也作为一个参数,在运行时决定呢?答案是肯定的,泛型就可以做到这一点。泛型为程序员带来了很多编程好处,具.
分类: 其他 发布时间: 01-26 23:12 阅读次数: 0

json爬虫获取列表数据不全,已解决

原链接的数据比较多,但是通过jsoup获取的数据差不多只有2000多条。 Document document = Jsoup.connect(url) .timeout(4000) .ignoreContentType(true) .userAgent("Mozilla\" to \"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0)") .method(Connection.Method.PO
分类: 其他 发布时间: 01-26 23:12 阅读次数: 0

桌面版的centos如何打开命令行窗口终端

右键,选择设置,进入设置中心。选择Keyboard并翻到页面最下侧,点击加号,新增一个快捷键3. 在命令中输入/usr/bin/gnome-terminal ,名称和快捷键可以根据自己需要来设置4. 添加并退出后,根据我们设置的快捷键即可打开命令行窗口...
分类: 其他 发布时间: 01-26 23:12 阅读次数: 0

linux常用文本操作命令

linuv常用文件操作命令命令解析cat file从第一个字节开始正向查看文件的内容head -2 file查看一个文件的前两行more file查看一个长文件的内容tac file从最后一行开始反向查看一个文件的内容tail -3 file查看一个文件的最后三行vi file打开并浏览文件vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,而vim 具有程序编辑的能力,可以以字体颜色辨别语
分类: 其他 发布时间: 01-26 23:11 阅读次数: 0

linux minimal版没有ip信息,如何配置linux网络信息,访问外网

新安装的centos minimal版,使用ifconfig命令并没有看到ip地址,此时需要修改网络配置文件来配置系统的ip地址。输入命令 vi /etc/sysconfig/network-scripts/ifcfg-eth0,发现并没有ip属性配置ip地址将BOOTPROTO属性修改成static,表示静态ip,重启后ip地址不变,dhcp表示自动获取ip地址。ONBOOT改成yes开机自动启动,配置ip,网关,子网掩码,dns等信息重启网络service network res
分类: 其他 发布时间: 01-26 23:11 阅读次数: 0

使用yum命令时Error: Cannot find a valid baseurl for repo: base

首先,我的宿主机的网络配置如下:所以,我在配置linux的dns时也是配置的192.168.0.1,访问外网没问题,但使用yum命令时有报错。将192.168.0.1和8.8.8.8优先级换一下,最开始DNS1=192.168.0.1,配置这个主要是为了与宿主机的dns保持一致。保存退出,service network restart 重启网络配置,再试一下yum命令就可以了。...
分类: 其他 发布时间: 01-26 23:11 阅读次数: 0

systemctl不可用时,使用service命令关闭防火墙

systemctl status firewalld 查看防火墙状态systemctl stop firewalld 停止防火墙systemctl disable firewalld 禁止防火墙systemctl start firewalld 启动防火墙systemctl是从centos7.x开始引入的一个服务管理工具命令,融合了之前的service和chkconfig的功能于一体。在7版本以前或者没有安装systemclt的minimal版本,可以使用service控制防火墙servic
分类: 其他 发布时间: 01-26 23:10 阅读次数: 0

阿里云centos镜像下载

下载地址:http://mirrors.aliyun.com/centos/这个界面提供了centos各个版本的目录,不过,点入具体的目录去只有一个readme文件,而没有镜像下载。readme文件中提供了精确版本的下载地址:http://vault.centos.org/,以6.8版本为例,可以根据信息一步一步找到需要的镜像文件这个地址是可以下载的,不过下载速度相对比较慢,针对网络比较差的环境,下载这个镜像简直就是折磨。回到最开始的阿里云镜像目录,点击7和8的根目录可以找到相关的镜像通过目录iso
分类: 其他 发布时间: 01-26 23:10 阅读次数: 0

docker配置阿里云镜像仓库

注册阿里云开发者平台账号,使用支付宝或者淘宝账户手机扫码即可登录,地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors依次进入 容器镜像服务/镜像中心/镜像加速器根据自己的linux系统,选择对应的操作稳定,复制上图红色方框中的代码执行即可使用docker info命令查看是否配置成功...
分类: 其他 发布时间: 01-26 23:10 阅读次数: 0

docker安装带管理界面的rabbitmq

docker search rabbitmq-management,不带management的版本可能没有管理界面,也就是无法通过web登录后台系统2. docker pull rabbitmq-management,或者写的更加明确,如docker pull docker.io/macintoshplus/rabbitmq-management:latest,默认的标签也是latest版本。也可以去docker hub上选择自己需要的版本search一下,查的出来就能够pull下来。执行doc..
分类: 其他 发布时间: 01-26 23:10 阅读次数: 0

java实现rabbitmq简单队列模型,生产者 消费者 消息队列

生产者向队列发送消息,随机消费者从队列中接收消息创建用户和虚拟主机通过rabbitmq提供的用户管理界面可以很轻松的创建用户和虚拟主机,并且需要将用户绑定到对应的虚拟主机。自带有guest用户和/虚拟主机,也可以直接用这两个既有信息。我们创建了名为wuwl的用户和/vh的虚拟主机,注意虚拟主机需要以/开头。导入依赖<dependency> <groupId>com.rabbitmq</groupId> <artifactId&gt
分类: 其他 发布时间: 01-26 23:09 阅读次数: 0

java实现rabbitmq任务模型(work queues), 生产者 消费者 消息队列 能者多劳

work queues也成为task queues,任务模型。当消息处理比较耗时的时候,可能生产消息的速度远远大于消费速度,长此以往,消息就会堆积,无法及时处理。此时,就恶意使用work模型,让多个消费者绑定到一个队列,共同消费队列的消息。消息队列中的消息一旦消费,就会消失,因此任务是不会被重复执行的。通过官方文档我们可以很直观的认识到这种模型结构,一个消费者发送多条消息至消息队列,对应的多个消费者同时工作,消费消息。这种模型和我们之前提到的hello word直连简单模型非常相似,只是消费者从一个.
分类: 其他 发布时间: 01-26 23:09 阅读次数: 0

java实现rabbitmq发布/订阅模型(Publish/Subscribe queues), 生产者 消费者 交换机 消息队列

发布/订阅模型又称扇出模型,或者是广播模型,可以有多个消费者,每个消费者有自己的队列,每个队列都要绑定到交换机,生产者发送的消息只需要发送到交换机,再由交换机决定要发送到哪些队列,生产者无法自行决定。交换机会把消息发送到绑定过的所有队列,实现一对多,一条消息被多个消费者消费。可以看到,这种模型需要用到交换机模块,我们在后台管理界面可以看到许多交换机可供使用,当然,也可以自己声明需要的交换机。每个虚拟主机默认生成了多个类型的交换机,这里我们选择一个fanout类型的,名为amqp.fanout的交换.
分类: 其他 发布时间: 01-26 23:09 阅读次数: 0

java实现rabbitmq路由模型(routing/topic queues), 生产者 消费者 交换机 消息队列

在fanout模型中,一条休息会被所有订阅的队列消费,及绑定了对应交换机的消费者,都能收到消息。但在某些场景下,我们希望不同的消息发送到不同的队列,被不同的霞飞这消费,此时就要用到Direct类型的交换机。比如日志分为warn、info、error等多个类型,在错误日志中,只需要看到error类型的日志,在所有日志中,多个类型的日志都需要被记录在官方文档可以看到,我们给发送的消息一个绑定键,即秘钥,队列在接收消息时需要匹配对应的绑定建,符合自己规则的消息才会接收。生产者首先,我们要选择dire.
分类: 其他 发布时间: 01-26 23:09 阅读次数: 0

java实现rabbitmq动态路由/话题模型(topic queues), 生产者 消费者 交换机 消息队列

在routing路由模型中,我们实现了可以根据routingKey来选择性地将消息发送到对应的消息队列中,但是,这种模型不够灵活,比如最开始只有warn、info、error、三种类型的日志,但后面如果需要增加fetal类型的日志,则需要修改原有代码,不符合开闭原则。使用topic模型可以比较好的满足这一点,支持通配符的方式来进行扩展。依旧,我们在官方文档中可以看到详细的说明,使用*号可以代替一个单词,使用#号可以代替零个或多个单词。所以,当我想适配所有类型的routingKey时,使用#号作为rou.
分类: 其他 发布时间: 01-26 23:09 阅读次数: 0

springBoot整合rabbitmq并测试五种常用模型

之前我们记录了原生java代码使用rabbitmq的方法,很简单,类似于原生jdbc代码一样,将连接对象抽离出来作为工具类,生产者和消费者通过工具类获取连接对象,进而获取通道对象,再注册交换机或者是队列等,发送消息与接收消息。在企业开发中,我们更多的是使用spring框架来整合其它技术,springboot更是方便的提供了各种starter来快速添加依赖,完成整合,开箱即用。添加依赖<dependency> <groupId>org.springframework.
分类: 其他 发布时间: 01-26 23:08 阅读次数: 0