最新回答 / iesenk
你知道md5的值是seckillid生成的,这个生成是你请求系统才会产生的,如果你私自改MD5值,肯定无法和之前匹配了。这样就很容易造成了刷单。一般秒杀都是单人单产品的。实际生产不只是一个值,还需要给生命周期的,过期地址也会失效的。
2016-09-01
最赞回答 / 吼哈
不能说没作用,如果不加密,用户截取了你的访问地址,他看到了当前秒杀ID为1000,他完全可以推测出其他的秒杀地址,或者说他可以造出一批地址;视频中秒杀在数据库中判断了秒杀时间,其他时间他自然是秒杀不到,但是对数据库也有一定的冲击,如果他用定时器或者循环秒杀软件,你的系统承受力是个问题;另一方面对于一些还没开始的秒杀,他模拟地址以后,完全可以用定时器一直访问。加密以后由于他拿不到混淆码,就只能通过点击链接进行秒杀……
2016-09-01
最赞回答 / F迟墨
视频里 xml注解写错了<!--扫描service包下所有使用注解的类型 --><context:component-scan base-package="org.seckill.dao" />应该是这样
2016-08-19
已采纳回答 / 回文体文回
@Resource 和 @Autowired 都可以注入,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入
2016-08-02
最赞回答 / 原来我叫小土慕课网给我改了名字
分布式事务的话主要有两种方式:(1)两阶段提交协议。就是在两个不同服务的上层有一个事务协调器(TC)。当发起一个请求时,TC先将消息写到本地日志里,之后向所有服务发起消息,本地日志是为例故障后恢复所用,相当于凭证的效果。所有服务收到消息后,执行具体本机事务,但不会进行commit,如果成功返回yes,失败返回no。同理,返回前都应把返回的消息写到日志里,当作凭证。TC手机所有返回的消息,如果所有服务都返回yes,那么给所有服务发送commit消息,如果有一个服务返回no,那么给所有服务发送abort消息,...
2016-07-15
最赞回答 / Peter_Matrix
重复秒杀会抛RepeatKillException异常, 声明式事务检测到sevice层抛出运行期异常了就会自动回滚,回滚是以方法为整体回滚。 我说清楚了吗,没有说清楚我再讲一遍 。
2016-07-01
最新回答 / helinz
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocat...
2016-06-28