Ciao a tutti; sono diversi giorni (e secondo me ormai troppi:-) ) che sto combattendo con i topic remoti di JBoss... allora la situazione è questa: ho un pc che funge da provider JMS remoto e uno o più client che cercano di collegarsi..ebbene concentriamoci su questo hardware:
1)Windows XP home edition SP 2
2)HP proliant con red-hat advanced server 7.3

Ora:
Se il mio portatile funge da server e cioè da provider
JMS e il proliant cerca di collegarsi tutto va alla
grande;
se, invece, è il contrario (come dovrà essere in
produzione) non riuscivo a stabilire la connessione;
dopo aver sbattuto la testa e addirittura aver fatto il
download della classe DLQHandler ed averla modificata
per farmi stampare nel log l'eccezione che avveniva ho
dovuto modificare il file hosts presente in /etc così
errori non ne avevo più, ma JBoss non parte +; infatti
si stabilisce la connessione, si cerca di agganciarsi
al topic ma basta rimane appeso; nel log trovo:

2005-01-14 09:57:25,155,TRACE,[main],[org.jboss.ejb.plugins.jms.JMSContainerInvoker],Constructing
2005-01-14 09:57:25,195,DEBUG,[main],[org.jboss.ejb.plugins.jms.JMSContainerInvoker],Creating jboss.j2ee:binding=InvokerMdb,jndiName=local/RemoteMDB,plugin=invoker,service=EJB
2005-01-14 09:57:25,195,DEBUG,[main],[org.jboss.ejb.plugins.jms.JMSContainerInvoker],Created jboss.j2ee:binding=InvokerMdb,jndiName=local/RemoteMDB,plugin=invoker,service=EJB
2005-01-14 09:57:25,285,DEBUG,[main],[org.jboss.ejb.plugins.jms.JMSContainerInvoker],Starting jboss.j2ee:binding=InvokerMdb,jndiName=local/RemoteMDB,plugin=invoker,service=EJB
2005-01-14 09:57:25,285,DEBUG,[main],[org.jboss.ejb.plugins.jms.JMSContainerInvoker],Initializing
2005-01-14 09:57:25,285,DEBUG,[main],[org.jboss.ejb.plugins.jms.JMSContainerInvoker],Looking up provider adapter: java:/RemoteJMSProvider
2005-01-14 09:57:25,285,DEBUG,[main],[org.jboss.ejb.plugins.jms.JMSContainerInvoker],Provider adapter: org.jboss.jms.jndi.JNDIProviderAdapter@a39de
2005-01-14 09:57:25,285,TRACE,[main],[org.jboss.ejb.plugins.jms.DLQHandler],Constructing
2005-01-14 09:57:25,285,DEBUG,[main],[org.jboss.ejb.plugins.jms.DLQHandler],Creating DLQHandler
Arrivato a Creating DLQHandler basta si ferma; eppure se provo questo semplice client di prova:

codice:
package pub;

import javax.jms.TopicConnectionFactory;
import javax.jms.TopicSession;
import javax.jms.Topic;
import javax.naming.InitialContext;
import javax.naming.Context;
import javax.jms.TopicConnection;
import javax.jms.ObjectMessage;
import javax.naming.NamingException;
import javax.jms.JMSException;
import javax.jms.TopicPublisher;

import java.util.Hashtable;
import java.io.Serializable;

public class Publisher {

    private static final String MODULE = Publisher.class.getName();
    //private static final Logger log = Logger.getLogger(MODULE);
    public Publisher() {
    }

    public void createAndSendMsg(String ibName) {

        try {
            Serializable obj = new Msg("Angelo Immediata");
            Context cont = getContext();
            System.out.println( "Cerco connection factory" );
            //TopicConnectionFactory factory = (TopicConnectionFactory) (cont.lookup("java:comp/env/jms/ConnectionFactory"));

            TopicConnectionFactory factory = (TopicConnectionFactory) (cont.lookup("java:ConnectionFactory"));
            System.out.println( "Ok" );
            Topic coda = (Topic) cont.lookup("topic/angeloRemoteTopic");
            //System.out.println( "Ok anche la topic" );
            //System.out.println( "Cerco l'altra coda" );
            cont.lookup( "topic/it.eng.nikko.ibTopic" );
            //System.out.println( "Ok per l'altra coda" );
            TopicConnection connessione = factory.createTopicConnection();
            TopicSession sessione = connessione.createTopicSession(true,
                    TopicSession.AUTO_ACKNOWLEDGE);
            TopicPublisher sender = sessione.createPublisher(coda);
            ObjectMessage msg = sessione.createObjectMessage();
            msg.setObject(obj);
            sender.publish(coda, msg);
            sessione.commit();
            sessione.close();
            connessione.close();
        } catch (NamingException ex) {

            ex.printStackTrace();
        } catch (JMSException ex) {

            ex.printStackTrace();
        }
    }

    private InitialContext getContext() throws NamingException {

        Hashtable props = new Hashtable();
        props.put(InitialContext.INITIAL_CONTEXT_FACTORY,
                  "org.jnp.interfaces.NamingContextFactory");
        props.put(InitialContext.PROVIDER_URL, "jnp://192.168.11.224:1099");
 
        return new InitialContext(props);
    }
}
dal mio pc tutto funziona correttamente.
Qualcuno sa come mai?