无法在 WebSphere 中以编程方式创建 JMS 主题



我无法创建 SIB JMS 主题或队列。我尝试了下面的代码。代码运行时没有任何异常或错误

public void createSIBJMSTopic(String topicName, String jndiName, String busName, String topicSpace) {
    try {
        String server = "server1";
        String description = "abc";
        Session session = new Session();
        CommandMgr commandMgr = CommandMgr.getCommandMgr(client);
        configService = new ConfigServiceProxy(client);
        System.out.println("Commands list" + commandMgr.listAllCommands().toString());
        AdminCommand cmd = commandMgr.createCommand("createSIBJMSTopic");
        System.out.println(session);
        ObjectName targetObject = configService.resolve(session, null, "Node=mbaastest40Node02,Server=server1")[0];
        cmd.setTargetObject(targetObject);
        cmd.setParameter("name", topicName);
        cmd.setParameter("jndiName", jndiName);
        cmd.setParameter("busName", busName);
        cmd.setParameter("topicSpace", topicSpace);
        System.out.println("Before Execute");
        cmd.execute();
        CommandResult result = cmd.getCommandResult();
        System.out.println("after execute");
        if (result.isSuccessful())
            System.out.println(result.toString());
        if (!result.isSuccessful())
            throw new AdminException(result.getException());
        System.out.println("done");
        configService.save(session, true);
        System.out.println("After save");
    }
    catch (Exception e) {
        e.printStackTrace();
    }
}

您需要通过以下方式将 AdminCommand 与配置会话链接

 AdminCommand cmd = commandMgr.createCommand("createSIBJMSTopic");
 cmd.setConfigSession(session);

您还应该注意完成后调用configService.discard(session)的建议:

这是一篇很好的入门文章,也可能有所帮助。

最新更新