2017-02-02 29 views
1

Я не могу создать тему или очередь SIB JMS. Я попробовал приведенный ниже код. Код бежал без исключения или ошибокНевозможно создать тему JMS программно в WebSphere

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(); 
    } 
} 

ответ

0

Вы должны связать AdminCommand с конфигой Session через:

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

Следует также отметить recommendation вызвать configService.discard(session) когда сделано:

Вот хорошее начало работы article, что тоже может помочь.