提交 d0c61b0f 编写于 作者: J Jesse Glick

ParameterizedJobMixIn is stateless.

上级 78e09522
......@@ -163,7 +163,6 @@ public abstract class AbstractProject<P extends AbstractProject<P,R>,R extends A
private volatile transient SCMRevisionState pollingBaseline = null;
private transient LazyBuildMixIn<P,R> buildMixIn;
private transient ParameterizedJobMixIn<P,R> parameterizedJobMixIn;
/**
* All the builds keyed by their build number.
......@@ -287,16 +286,13 @@ public abstract class AbstractProject<P extends AbstractProject<P,R>,R extends A
return buildMixIn;
}
private synchronized ParameterizedJobMixIn<P,R> getParameterizedJobMixIn() {
if (parameterizedJobMixIn == null) {
parameterizedJobMixIn = new ParameterizedJobMixIn<P,R>() {
@SuppressWarnings("unchecked") // untypable
@Override protected P asJob() {
return (P) AbstractProject.this;
}
};
}
return parameterizedJobMixIn;
private ParameterizedJobMixIn<P,R> getParameterizedJobMixIn() {
return new ParameterizedJobMixIn<P,R>() {
@SuppressWarnings("unchecked") // untypable
@Override protected P asJob() {
return (P) AbstractProject.this;
}
};
}
@Override
......
......@@ -61,6 +61,7 @@ import org.kohsuke.stapler.interceptor.RequirePOST;
/**
* Allows a {@link Job} to make use of {@link ParametersDefinitionProperty} and be scheduled in various ways.
* Stateless so there is no need to keep an instance of it in a field.
* @since TODO
*/
@SuppressWarnings("unchecked") // AbstractItem.getParent does not correctly override; scheduleBuild2 inherently untypable
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册