Merge pull request #11692 from izeye:null-check
* pr/11692: Add missing null checks and volatile keyword
This commit is contained in:
commit
34b19de68f
|
|
@ -43,9 +43,9 @@ public abstract class ApplicationContextServerWebExchangeMatcher<C>
|
||||||
|
|
||||||
private final Class<? extends C> contextClass;
|
private final Class<? extends C> contextClass;
|
||||||
|
|
||||||
private C context;
|
private volatile C context;
|
||||||
|
|
||||||
private Object contextLock = new Object();
|
private final Object contextLock = new Object();
|
||||||
|
|
||||||
public ApplicationContextServerWebExchangeMatcher(Class<? extends C> contextClass) {
|
public ApplicationContextServerWebExchangeMatcher(Class<? extends C> contextClass) {
|
||||||
Assert.notNull(contextClass, "Context class must not be null");
|
Assert.notNull(contextClass, "Context class must not be null");
|
||||||
|
|
@ -68,8 +68,10 @@ public abstract class ApplicationContextServerWebExchangeMatcher<C>
|
||||||
protected C getContext(ServerWebExchange exchange) {
|
protected C getContext(ServerWebExchange exchange) {
|
||||||
if (this.context == null) {
|
if (this.context == null) {
|
||||||
synchronized (this.contextLock) {
|
synchronized (this.contextLock) {
|
||||||
this.context = createContext(exchange);
|
if (this.context == null) {
|
||||||
initialized(this.context);
|
this.context = createContext(exchange);
|
||||||
|
initialized(this.context);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return this.context;
|
return this.context;
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ public abstract class ApplicationContextRequestMatcher<C> implements RequestMatc
|
||||||
|
|
||||||
private volatile C context;
|
private volatile C context;
|
||||||
|
|
||||||
private Object contextLock = new Object();
|
private final Object contextLock = new Object();
|
||||||
|
|
||||||
public ApplicationContextRequestMatcher(Class<? extends C> contextClass) {
|
public ApplicationContextRequestMatcher(Class<? extends C> contextClass) {
|
||||||
Assert.notNull(contextClass, "Context class must not be null");
|
Assert.notNull(contextClass, "Context class must not be null");
|
||||||
|
|
@ -68,8 +68,10 @@ public abstract class ApplicationContextRequestMatcher<C> implements RequestMatc
|
||||||
private C getContext(HttpServletRequest request) {
|
private C getContext(HttpServletRequest request) {
|
||||||
if (this.context == null) {
|
if (this.context == null) {
|
||||||
synchronized (this.contextLock) {
|
synchronized (this.contextLock) {
|
||||||
this.context = createContext(request);
|
if (this.context == null) {
|
||||||
initialized(this.context);
|
this.context = createContext(request);
|
||||||
|
initialized(this.context);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return this.context;
|
return this.context;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue