Problema ao Executar Aplicação JMS

0 respostas
J

Olá Pessoal,

Estou implementando uma aplicação que “conversará” com o Provider mq do Jboss via JMS.Tenho uma classe que implementa MessageListener responsável por receber e processar as mensagems quando elas chegarem ao servidor.Quando eu rodo ela por dentro do Eclipse funciona tudo ok,mas depois de compilá-la com o javac/ant ,colocar os .jar do jms junto com a aplicação o código desta classe simplesmente não é executado(tenho certeza por causa dos logs que ficam em branco).

Quando rodo com o javaw <nomedaclasse> não dá erro algum,mas também não é rodado o main que vai registrar o meu listener no application server.

O código (resumido) da minha classe segue abaixo.

Alguém tem alguma dica ? Qualquer sugestão é bem vinda.

Obrigado !

[]´s

Júlio César
[email removido]

import java.util.*;

import javax.jms.<em>;

import javax.naming.</em>;

import javax.naming.directory.*;

public class VerificarResultado {

/**
 * Onde tudo começa.
 * @param args Argumentos vindo da linha de comando.
 * O voto deve ser passado como argumento
 */
public static void main(String[] args) {
    new VerificarResultado();
}

/**
 * Constutor vazio. Todo o processo está aqui dentro.
 * */
public VerificarResultado() {
    try {
        /**
         * Nessa parte temos a criação das propriedades para o JNDI.
         * Caso você prefira essas configurações poderão ficar em um arquivo
         * jndi.properties, e o mesmo deve ficar no CLASSPATH.
         *
         * Para distribuir sua aplicação entre os clientes, lembre-se de trocar
         * o IP.
         */
        Hashtable env = new Hashtable();
        env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
        env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
        env.put(Context.PROVIDER_URL, "jnp://127.0.0.1:1099");

        /**
         * Inicie o contexto com as propriedades definidas acima.
         * */
        Context jndiContext = new InitialContext(env);

        /**
         * Faz a busca pelo Connection Factory e o Destination apropriado.
         * Para o JBoss o objeto CF configurado é o ConnectionFactory.
         * O Destination usado será aquele criado na preparação do exerício.
         * Note que o JBoss referência o dominio com um "queue/" antes do Destination.
         * */
        TopicConnectionFactory topicConnectionFactory = (TopicConnectionFactory) jndiContext.lookup("ConnectionFactory");
        Topic topic = (Topic) jndiContext.lookup("topic/MyTopic");

        /**
         * Cria a conexão.
         * Cria a sessão setando o parâmetro de transação para falso e deixando
         * que o Provider comunique o recebimento da mensagem automaticamente.
         * Cria o objeto de envio, Sender.
         * Obtemos a mensagem (ObjectMessage) e setamos o objeto a ser enviado.
         * Por fim enviamos.
         * */
        TopicConnection topicConnection = topicConnectionFactory.createTopicConnection("john", "needle");
        TopicSession topicSession = topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
        TopicSubscriber topicSubscriber = topicSession.createDurableSubscriber(topic,"U2" + System.getProperty("user.name"));
        EsperarResultado topicListener = new EsperarResultado();
        topicSubscriber.setMessageListener(topicListener);
        topicConnection.start();

        try {
            Thread.sleep(10);
        } catch (InterruptedException ie) {

        }
        /**
         * Fecha a conexão para liberar os recursos
         */
        topicConnection.close();
        jndiContext.close();

    } catch (NamingException e) {
        System.out.println("Não foi possível criar o contexto JNDI: " + e.toString());
        System.exit(1);
    } catch (JMSException e) {
        System.out.println("Não foi possível criar o contexto JNDI: " + e.toString());
        System.exit(1);
    }
}

}

P.S.-> já copiei os jars pada dentro do jsdk/lib,já setei JAVA_HOME,CLASSPATH,J2EEHOME, tudo sem sucesso :-((

Criado 16 de janeiro de 2005
Respostas 0
Participantes 1