Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107

    [Java] JBoss 3.2.5 e topic remoti

    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?
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  2. #2
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao; ho risolto... grazie a tutti; ora non ho modo ma semmai posterò una pillola (mi sembra che così si chiamino i consigli che si danno) su come configurare JBoss per collegare degli MDB so code remote e su come creare 2 istanze di JBoss sulla stessa macchina.
    Ciao a tutti
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    8

    Problema

    Ciao..
    Da quel che ho capito hai abb esperienza di connessioni xke volevo chiederti un paio di cose tipo se è possibile connettersi ad internet tramite java direttamente in un indirizzo url..
    grazie..ciao

  4. #4
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Originariamente inviato da gas869
    Da quel che ho capito hai abb esperienza di connessioni
    Abbastanza anche se non è mai troppo

    Originariamente inviato da gas869
    è possibile connettersi ad internet tramite java direttamente in un indirizzo url..
    Non so se ho afferrato bene la domanda ma se vuoi sapere se tramite Java puoi connetterti ad una URL puoi tranquillamente farlo con la classe java.net.HttpURLConnection
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    8

    grazie

    scusa il ritardo... cmq si volevo sapere questo e se hai una bozza del codice da mandarmi..cmq posso entrare direttamente dentro un url? grazie ciao Gas

  6. #6
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao; ti invio una mia classe che ho utilizzato per leggere un file xml da un URL; spero ti sia utile; ciao.

    codice:
    import java.util.Map;
    import java.net.URL;
    import java.io.Serializable;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.io.IOException;
    import java.util.Iterator;
    
    public class ReadStream implements Serializable {
    
    //http://192.168.xx.yyy:8080/SiteAdmin/xmlStructure
        public String pmInterrogation() {
            StringBuffer sf = new StringBuffer(getConnectionString());
            try {
    
                return readStream(((HttpURLConnection) (getUrl(sf.toString()).
                        openConnection())));
            } catch (IOException ex) {
    
                throw new IllegalArgumentException("Error while reading: " +
                                                   ex.getMessage());
            }
        }
    
        private URL getUrl(String url) throws MalformedURLException {
    
            return new URL(url);
        }
    
        private String getConnectionString() {
    
            StringBuffer sf = new StringBuffer(
                    "http://192.168.xx.yyy:8080/SiteAdmin/xmlStructure");
            return sf.toString();
        }
    
        private String readStream(HttpURLConnection theConn) throws IOException {
    
            theConn.connect();
            int read = -1;
            StringBuffer sb = new StringBuffer();
            while ((read = theConn.getInputStream().read()) != -1) {
                sb.append(((char) (read)));
            }
            theConn.disconnect();
            return sb.toString();
        }
    
        public static void main(String[] main) {
    
            try {
                Map m = (new Parser()).getElements(ReadXMLString.getInstance((new
                        ReadStream()).pmInterrogation()).getJDomDocument(),
                                                   "FWD-001-005-001");
                for( Iterator i = m.keySet().iterator(); i.hasNext(); ){
    
                    System.out.println( m.get( i.next() ) );
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    8

    Ok..

    Ok grazie ma vorrei chiederti un altra cosa...
    Dovrei connettermi dentro l URL del sito della vodafone...
    Secondo te è possibile??
    Grazie Gas

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.