代码拉取完成,页面将自动刷新
/**
* 监听seckill主题,有消息就读取
* @param message
*/
@KafkaListener(topics = {"seckill"})
public void receiveMessage(String message){
/**
* 收到通道的消息之后执行秒杀操作
*/
String[] array = message.split(";");
if(redisUtil.getValue(array[0])==null){
Result result = seckillService.startSeckilAopLock(Long.parseLong(array[0]), Long.parseLong(array[1]));
if(result.equals(Result.ok(SeckillStatEnum.SUCCESS))){
WebSocketServer.sendInfo(array[0], "秒杀成功");
}else{
WebSocketServer.sendInfo(array[0], "秒杀失败");
redisUtil.cacheValue(array[0], "ok");
}
}else{
WebSocketServer.sendInfo(array[0], "秒杀失败");
}
}
这里的 WebSocketServer.sendInfo(array[0], "秒杀失败"); 是不是错了要改成 WebSocketServer.sendInfo("秒杀失败",array[1]);
public void receiveMessage(String message) {
Thread th=Thread.currentThread();
System.out.println("Tread name:"+th.getName());
//收到通道的消息之后执行秒杀操作(超卖)
String[] array = message.split(";");
if(redisUtil.getValue(array[0])==null){//control层已经判断了,其实这里不需要再判断了
Result result = seckillService.startSeckilDBPCC_TWO(Long.parseLong(array[0]), Long.parseLong(array[1]));
if(result.equals(Result.ok(SeckillStatEnum.SUCCESS))){
WebSocketServer.sendInfo("秒杀成功",array[0]);//推送给前台
}else{
WebSocketServer.sendInfo("秒杀失败",array[0]);//推送给前台
redisUtil.cacheValue(array[0], "ok");//秒杀结束
}
}else{
WebSocketServer.sendInfo("秒杀失败",array[0]);//推送给前台
}
}
这里的 WebSocketServer.sendInfo("秒杀失败",array[0]);//推送给前台 改成
WebSocketServer.sendInfo("秒杀失败",array[1]);