问题
I'm not able to create SIB JMS topic or queue. I tried the below code. The code ran without any exception or error
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();
}
}
回答1:
You need to link the AdminCommand with the config Session via:
AdminCommand cmd = commandMgr.createCommand("createSIBJMSTopic");
cmd.setConfigSession(session);
You should also note the recommendation to call configService.discard(session)
when done:
Here's a good getting started article that may help too.
来源:https://stackoverflow.com/questions/42000532/not-able-to-create-jms-topic-programatically-in-websphere