上周遇到一个问题,在rabittmq消息队列中,我准备传入一个时间差,作为执行队列的时间,我定义的传入的时间差为Integer类型,但是当传入的时间差大于-2147483648 至 2147483647 这个范围,计算就会出现负值,出现以下错误。后续我把传入的值转为了long类型,然后再放入队列就可以。顺便说一下rabittmq执行队列的时间是有最大值范围的,我目前测试50天是没有问题的,但是如果消息超过100天,就没作用了,它会立即去执行。
Integer integer = 2592000;
Integer i = integer * 1000;
System.out.println(i); //-1702967296