首页 > 其他 > 详细

NumberFormatException: multiple points

时间:2016-09-02 01:02:35      阅读:203      评论:0      收藏:0      [点我收藏+]

问题描述:

有两个项目,一个ssmp、一个性能数据提供perf-provider ,后者给前者提供rest api;

突然有一天,来了新需求,ssmp在短时间内需要发送大量的rest请求,请求中有一个

时间参数,传到后台做时间格式化时开始报错:

严重: Servlet.service() for servlet [dispatcher] in context with path [/storage-performance-provider] threw exception [Request processing failed; nested exception is java.lang.NumberFormatException: multiple points] with root cause
java.lang.NumberFormatException: multiple points


但是调试发现传过来的时间没问题,一时一头雾水,想看源码,觉得太费时间,结果在度娘上搜了下发现有同僚碰到过,说是:

多线程方法中使用了共享变量SimpleDateFormat,报如下错误:
 Java.lang.NumberFormatException: multiple points
 at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1084
原因:
SimpleDateFormat是线程不安全的,切忌切忌!
解决:
在线程方法中,new SimpleDateFormat();
 
例:
       SimpleDateFormat sdf = new SimpleDateFormat();

  而回顾自己的代码中确实有一个静态的SimpleDateFormat实例,至此问题明了。

  但还有一个问题: provider中的rest api怎么会发生多线程,先留着吧


NumberFormatException: multiple points

原文:http://langlichong.blog.51cto.com/8846944/1845309

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!