|
@@ -28,7 +28,7 @@ public class PAIModel {
|
|
|
private PredictClient predictClient;
|
|
private PredictClient predictClient;
|
|
|
private List<Tuple4<String, String, String, TFDataType>> featureKeys = new ArrayList<>();
|
|
private List<Tuple4<String, String, String, TFDataType>> featureKeys = new ArrayList<>();
|
|
|
|
|
|
|
|
- private static final PAIModel MODEL = new PAIModel();
|
|
|
|
|
|
|
+ private static volatile PAIModel MODEL;
|
|
|
|
|
|
|
|
private PAIModel() {
|
|
private PAIModel() {
|
|
|
this.fgConfigFilePath = "zhaohaipeng/pai/config/fg/feature_list_20260403.json";
|
|
this.fgConfigFilePath = "zhaohaipeng/pai/config/fg/feature_list_20260403.json";
|
|
@@ -40,8 +40,14 @@ public class PAIModel {
|
|
|
this.initPredictClient();
|
|
this.initPredictClient();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
public static PAIModel getModelInstance() {
|
|
public static PAIModel getModelInstance() {
|
|
|
|
|
+ if (MODEL == null) {
|
|
|
|
|
+ synchronized (PAIModel.class) {
|
|
|
|
|
+ if (MODEL == null) {
|
|
|
|
|
+ MODEL = new PAIModel();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
return MODEL;
|
|
return MODEL;
|
|
|
}
|
|
}
|
|
|
|
|
|