JMS + Glassfish

Estou utilizando o código abaixo pra enviar uma mensagem JMS para um servidor glassfish que está no ip 192.168.1.146 e esta mensagem aparentemente não está chegando no servidor de fila.

Uma coisa que eu notei:

  • Se eu alterar/excluir o nome da ConnectionFactory ou da Queue no servidor de fila, o aplicativo apresenta o erro informando que essa Factory ou essa Queue não existe. O que me garante, então, que o aplicativo está conectando a fila remota no ip 192.168.1.146

Só que estou sem saber o que está acontecendo porque o aplicativo faz o System.out.println informando que a mensagem foi enviada, MAS ESTA MENSAGEM ENVIADA FICA NA PARTE DE ‘Destinos Físicos’ da máquina LOCAL(onde está a aplicação), ao invés de ir para o servidor 192.168.1.146.

Vocês poderiam me ajudar a entender o que está acontencendo?

Obrigado a todos.

@Named(value="JMSEnvio")
@Dependent
public class JMSEnvio {
    static int counter;

    public void enviarMensagem() throws JMSException {
        Context jndiContext = null;
        ConnectionFactory connectionFactory = null;
        Connection connection = null;
        Session session = null;

        Queue queue = null;
        Topic topic = null;
        MessageProducer messageProducer = null;
        ObjectMessage msg = null;

        Properties props = new Properties();
        props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory");
        props.setProperty("org.omg.CORBA.ORBInitialHost", "192.168.1.146");
        props.setProperty("org.omg.CORBA.ORBInitialPort", "3701");
        props.setProperty("java.naming.factory.url.pkgs","com.sun.enterprise.naming");

        try {
            System.out.println("INICIA CONTEXTO");
            jndiContext = new InitialContext(props);

            System.out.println("CONEXAO");
            connectionFactory = (ConnectionFactory)jndiContext.lookup("jms/FabricaConexoes");
            
            System.out.println("FILA");
            queue = (Queue)jndiContext.lookup("jms/FilaServidor");

            connection = connectionFactory.createConnection();
            session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

            messageProducer = session.createProducer(queue);

            Quotes quote = new Quotes("^BVSP", new Date(), counter++, 0, 0, 0, (int)(Math.random() * 100));
            msg = session.createObjectMessage(quote);
            msg.setStringProperty("symbol", quote.symbol);
            msg.setFloatProperty("volume", quote.volume);

            messageProducer.send(msg);
            System.out.println("MENSAGEM ENVIADA PARA A QUEUE: " + quote);

            connection.close();
        } catch (NamingException e) {
            Logger.getLogger(JMSEnvio.class.getName()).log(Level.SEVERE, null, e);
        }
        catch (JMSException e) {
            Logger.getLogger(JMSEnvio.class.getName()).log(Level.SEVERE, null, e);
        }
        finally {
            System.out.println("ENDED.");
            if (connection != null) connection.close();
        }
    }
}

Eu realmente já pesquisei e não encontrei em nenhum lugar o que pode estar acontecendo nesta minha aplicação de testes.

Será que acho algum material pra outro servidor de filas? Já to achando que usar o glassfish não é uma boa.

Valeu.