提交 97d73eb7 编写于 作者: J Juergen Hoeller

StandardTypeConverter initializes default ConversionService against volatile field

Issue: SPR-14465
(cherry picked from commit 0065a160)
上级 c627c408
/* /*
* Copyright 2002-2013 the original author or authors. * Copyright 2002-2016 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
...@@ -36,7 +36,7 @@ import org.springframework.util.Assert; ...@@ -36,7 +36,7 @@ import org.springframework.util.Assert;
*/ */
public class StandardTypeConverter implements TypeConverter { public class StandardTypeConverter implements TypeConverter {
private static ConversionService defaultConversionService; private static volatile ConversionService defaultConversionService;
private final ConversionService conversionService; private final ConversionService conversionService;
...@@ -45,10 +45,8 @@ public class StandardTypeConverter implements TypeConverter { ...@@ -45,10 +45,8 @@ public class StandardTypeConverter implements TypeConverter {
* Create a StandardTypeConverter for the default ConversionService. * Create a StandardTypeConverter for the default ConversionService.
*/ */
public StandardTypeConverter() { public StandardTypeConverter() {
synchronized (this) { if (defaultConversionService == null) {
if (defaultConversionService == null) { defaultConversionService = new DefaultConversionService();
defaultConversionService = new DefaultConversionService();
}
} }
this.conversionService = defaultConversionService; this.conversionService = defaultConversionService;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册