Enviar mensagem com o JMS trava na saída

Eu estou tentando criar um projeto de cliente de aplicativo Java que envia uma mensagem JMS para uma fila em um servidor Glassfish.

O problema é que, depois que o aplicativo envia a mensagem, ela trava quando deveria sair. A mensagem é transmitida com sucesso, mas por algum motivo o aplicativo não sai. Eu tentei depurar o aplicativo, e posso percorrer todo o caminho até o fim do static void main , e é aí que ele trava.

Aqui está o código:

 import javax.jms.*; import javax.naming.InitialContext; public class Main { public void SendMessage() throws Exception { InitialContext ctx = new InitialContext(); ConnectionFactory cf = (ConnectionFactory) ctx.lookup("jms/TestFactory"); Queue queue = (Queue)ctx.lookup("jms/TestQueue"); Connection conn = cf.createConnection(); Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer prod = s.createProducer(queue); TextMessage txt = s.createTextMessage("testing"); prod.send(txt); prod.close(); s.close(); conn.close(); } public static void main(String[] args) throws Exception { Main m = new Main(); m.SendMessage(); } public Main() { super(); } } 

Como posso parar de pendurar?