我的问题是定义配置属性:
我得到了这个SourceCode:
Session session = new Session();
ConfigService cService = new ConfigServiceProxy(aClient);
CommandMgr cmdMgr = CommandMgr.getCommandMgr(aClient);
AdminCommand cmd = cmdMgr.createCommand("createCluster");
Hashtable<String,Object> myParam = new Hashtable<String, Object>();
myParam.put("clusterName", ClusterName);
myParam.put("preferLocal", true);
cmd.setParameter("clusterConfig", myParam);
cmd.setConfigSession(session);
cmd.execute();
CommandResult result = cmd.getCommandResult();
cService.save(session, false);
WsAdmin命令是:
AdminTask.createCluster('[-clusterConfig [-clusterName test_rpc -preferLocal true]]')
现在我该如何设置clusterConfig?我尝试使用clustername和preferLocal的值定义Hashtable。所以我可以用这个哈希表设置clusterConfig。
作为回应我得到:例外:未知的paramname clusterConfig ....
如果setParameter看起来像[-x [-y“value”-z“value2”]],有人知道如何设置。
我尝试这个以获取此任务的所有参数:
List temp = cmd.listAllParameterName();
结果=列表仍为空。 misterious
由于
答案 0 :(得分:0)
经过长时间的研究,我找到了解决方案。
有一些预定义的步骤。
AdminTask.createCluster('[-clusterConfig [-clusterName test_rpc -preferLocal true]]')
clusterConfig是一步。
要定义ClusterConfig,SourceCode如下所示:
AdminCommand cmd = cmdMgr.createCommand("createCluster");
//gotoStep
CommandStep step = ((TaskCommand) cmd).gotoStep("clusterConfig");
step.setParameter("clusterName", ClusterName);
step.setParameter("preferLocal", true);
cmd.setConfigSession(session);
cmd.execute();
现在它完美无缺!