java.util.TimeZone 新加方法 getTimeZone(ZoneId zoneId) 导致的问题

最近接受的项目中用spring配置了一个TimeZone对象:

<bean id ="timeZone4Job" class="java.util.TimeZone" factory-method="getTimeZone">
          <constructor-arg value="GMT+8:00"/>
</bean>

以前是运行在 1.7 中,没什么问题。今天换了1.8的sdk,spring开始报错,发现原来在1.8里面新加入了方法 getTimeZone(ZoneId zoneId),spring会尝试转换GMT+8:00为ZoneId,而坑爹的是ZoneId.of(String zoneId) 支持的格式少,直接报错。

修改Spring配置如下,问题解决。

<bean id ="timeZone4Job" class="java.util.TimeZone" factory-method="getTimeZone">
          <constructor-arg value="GMT+8:00" type="String"/>
</bean>

 

posted @ 2016-07-07 18:04  季节潇  阅读(11232)  评论(0编辑  收藏  举报