|  | @@ -83,7 +83,8 @@ public class ModelManager {
 | 
											
												
													
														|  |       * @param path       Model在OSS上的全路径
 |  |       * @param path       Model在OSS上的全路径
 | 
											
												
													
														|  |       * @param modelClass Model的子类型
 |  |       * @param modelClass Model的子类型
 | 
											
												
													
														|  |       */
 |  |       */
 | 
											
												
													
														|  | -    public void registerModel(String modelName, String path, Class<? extends Model> modelClass) throws ModelRegisterException, IOException {
 |  | 
 | 
											
												
													
														|  | 
 |  | +    public void registerModel(String modelName, String path, Class<? extends Model> modelClass,
 | 
											
												
													
														|  | 
 |  | +                              Map<String, Object> params) throws ModelRegisterException, IOException {
 | 
											
												
													
														|  |          if (modelPathMap.containsKey(modelName)) {
 |  |          if (modelPathMap.containsKey(modelName)) {
 | 
											
												
													
														|  |              // fail fast
 |  |              // fail fast
 | 
											
												
													
														|  |              // throw new RuntimeException(modelName + " already exists");
 |  |              // throw new RuntimeException(modelName + " already exists");
 | 
											
										
											
												
													
														|  | @@ -96,7 +97,7 @@ public class ModelManager {
 | 
											
												
													
														|  |              ModelLoadTask loadTask = loadTasks.get(path);
 |  |              ModelLoadTask loadTask = loadTasks.get(path);
 | 
											
												
													
														|  |              loadTask.refCount++;
 |  |              loadTask.refCount++;
 | 
											
												
													
														|  |          } else {
 |  |          } else {
 | 
											
												
													
														|  | -            ModelLoadTask task = new ModelLoadTask(path, modelClass);
 |  | 
 | 
											
												
													
														|  | 
 |  | +            ModelLoadTask task = new ModelLoadTask(path, modelClass, params);
 | 
											
												
													
														|  |              task.refCount++;
 |  |              task.refCount++;
 | 
											
												
													
														|  |              loadTasks.put(path, task);
 |  |              loadTasks.put(path, task);
 | 
											
												
													
														|  |              loadModelWithRetry(task, false, true);
 |  |              loadModelWithRetry(task, false, true);
 | 
											
										
											
												
													
														|  | @@ -205,6 +206,7 @@ public class ModelManager {
 | 
											
												
													
														|  |                          loadTask.lastModifyTime, timeStamp);
 |  |                          loadTask.lastModifyTime, timeStamp);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |                  Model model = loadTask.modelClass.newInstance();
 |  |                  Model model = loadTask.modelClass.newInstance();
 | 
											
												
													
														|  | 
 |  | +                model.setParams(loadTask.params);
 | 
											
												
													
														|  |                  if (model.loadFromStream(ossObj.getObjectContent())) {
 |  |                  if (model.loadFromStream(ossObj.getObjectContent())) {
 | 
											
												
													
														|  |                      loadTask.model = model;
 |  |                      loadTask.model = model;
 | 
											
												
													
														|  |                      loadTask.lastModifyTime = timeStamp;
 |  |                      loadTask.lastModifyTime = timeStamp;
 | 
											
										
											
												
													
														|  | @@ -245,12 +247,14 @@ public class ModelManager {
 | 
											
												
													
														|  |          private boolean isLoading;
 |  |          private boolean isLoading;
 | 
											
												
													
														|  |          private final Class<? extends Model> modelClass;
 |  |          private final Class<? extends Model> modelClass;
 | 
											
												
													
														|  |          private Model model;
 |  |          private Model model;
 | 
											
												
													
														|  | 
 |  | +        private Map<String, Object> params;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -        ModelLoadTask(String path, Class<? extends Model> modelClass) {
 |  | 
 | 
											
												
													
														|  | 
 |  | +        ModelLoadTask(String path, Class<? extends Model> modelClass, Map<String, Object> params) {
 | 
											
												
													
														|  |              this.refCount = 0;
 |  |              this.refCount = 0;
 | 
											
												
													
														|  |              this.path = path;
 |  |              this.path = path;
 | 
											
												
													
														|  |              this.lastModifyTime = 0;
 |  |              this.lastModifyTime = 0;
 | 
											
												
													
														|  |              this.modelClass = modelClass;
 |  |              this.modelClass = modelClass;
 | 
											
												
													
														|  | 
 |  | +            this.params = params;
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  }
 |  |  }
 |