为Command AdminTask.createCluster设置Config Param

时间:2014-05-02 09:25:32

标签: java websphere java-ee-6 jmx websphere-8

我的问题是定义配置属性:

我得到了这个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

由于

1 个答案:

答案 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();

现在它完美无缺!