IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Websphere Java Discussion :

WebSphere MQ 6.0 (trial) / JMSAdmin


Sujet :

Websphere Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 91
    Points : 90
    Points
    90
    Par défaut WebSphere MQ 6.0 (trial) / JMSAdmin
    Bonjour,

    Je viens d'installer WebSphere MQ 6.0 (trial).
    J'ai creer un Gestionnaire de file d'attente "mymgr" et une file d'attente MYQUEUE.
    Apparament le serveur fonctionne bien, j'ai fais des test d'envoi de messages avec l'utilitaire "Testeur D'API Webphere MQ".

    Maintenant je souhaite envoyer et recuperer des messages dans cette file d'attente.
    Pour "acceder" a MQ via JNDI, j'utlise l'utilitaire JMSAdmin avec le script de config suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
    PROVIDER_URL=file:/C:/jndi/JNDI-Directory
    SECURITY_AUTHENTICATION=none
    et le fichier de commande suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def ctx(jms)
    chg ctx(jms)
    def qcf(MQqcf) qmgr(urgMgr) hostname(127.0.0.1) port(1414) transport(client)
    def q(MQueue) QUEUE(MYQUEUE) targclient(MQ)
    dis ctx 
    end
    Cela me cre queue et queue connection factory dans un annuaire JNDI en flat file : unfichier .bindings

    Ensuite ma classe Java pour envoyer un message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    public class Sender {
    public static void main(String[] args) {
      Context context = null;
      ConnectionFactory factory = null;
      Connection connection = null;
      String factoryName = "jms\\MQqcf";
      String destName = "jms\\MQueue";
      Destination dest = null;
      Session session = null;
      MessageProducer sender = null;
      String text = " message de test";
      try {
          // create the JNDI initial context.
          Properties properties = new Properties();
          FileInputStream fis = new FileInputStream("E:/eclipse_3.0.1/workspace/Test/com/test/jms/jndi.properties");
          properties.load(fis);
          fis.close();
          context = new InitialContext(properties);
          Object obj = context.lookup(factoryName);
          factory = (ConnectionFactory) obj;
          // look up the Destination
          dest = (Destination) context.lookup(destName);
          // create the connection
          connection = factory.createConnection();
          // create the session
          session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
          // create the sender
          sender = session.createProducer(dest);
          // start the connection, to enable message sends
          connection.start();
          TextMessage tmessage = session.createTextMessage();
          // tmessage.setText(text + (i + 1));
          tmessage.setText(text);
          sender.send(tmessage);
          System.out.println("message Sent");
      } catch (Throwable exception) {
          exception.printStackTrace();
      } finally {
          // close the context
          if (context != null) {
              try {
                  context.close();
              } catch (NamingException exception) {
                  exception.printStackTrace();
              }
          }
          // close the connection
          if (connection != null) {
              try {
                  connection.close();
              } catch (JMSException exception) {
                  exception.printStackTrace();
              }
          }
      }
    }
    }
    le fichier jndi.properties :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    
    java.naming.provider.url=file:/C:/jndi/JNDI-Directory
    java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory
    java.naming.security.principal=none
    

    et voici le messgae d'erreur :
    javax.naming.NamingException: unexpected exception [Root exception is javax.jms.JMSException: MQJMS1006: Valeur incorrecte pour tempQPrefix : ]; remaining name 'jms\MQqcf'
    at com.sun.jndi.fscontext.FSContext.generateNamingException(FSContext.java:806)
    at com.sun.jndi.fscontext.RefFSContext.lookup(RefFSContext.java:149)
    at com.sun.jndi.fscontext.FSContext.lookup(FSContext.java:127)
    at javax.naming.InitialContext.lookup(InitialContext.java:347)
    at com.test.jms.Sender.main(Sender.java:52)
    Caused by: javax.jms.JMSException: MQJMS1006: Valeur incorrecte pour tempQPrefix :
    at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:572)
    at com.ibm.mq.jms.MQQueueConnectionFactory.setTempQPrefix(MQQueueConnectionFactory.java:443)
    at com.ibm.mq.jms.MQQueueConnectionFactory.setFromReference(MQQueueConnectionFactory.java:400)
    at com.ibm.mq.jms.MQQueueConnectionFactoryFactory.populateQCF(MQQueueConnectionFactoryFactory.java:75)
    at com.ibm.mq.jms.MQQueueConnectionFactoryFactory.getObjectInstance(MQQueueConnectionFactoryFactory.java:53)
    at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:301)
    at com.sun.jndi.fscontext.RefFSContext.lookup(RefFSContext.java:146)
    ... 3 more

    Cette exeption se produit sur le lookup de la QueueFactory

    Je ne comprend pas ce qui se passe.
    Merci d'avance pour vos réponse et pour votre patience a lire tout ca.

    @+

    LÔic

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 91
    Points : 90
    Points
    90
    Par défaut
    Bon ca avance un petit peu :

    J'ai defini un manager QM1, une queue Q1 et un canal java.channel.

    Ensuite je lance JMSAdmin avec le fichier de commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    def ctx(jms)
    chg ctx(jms)
    def qcf(MyQCF) qmgr(QM1) 
    def q(MyQueue) qmgr(QM1) queue(Q1)
    end
    j'arrive bien a envoye des messages sur
    MyQCF / MyQueue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String factoryName = "jms\\MyQCF";
    String destName = "jms\\MyQueue";
    mon problème maintenant est que si j'utilise ce fichier de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    def ctx(mq)
    chg ctx(mq)
    def qcf(MyQCF) qmgr(QM1) tran(client) chan(java.channel) hostname(172.16.1.129) port(1414)
    def q(MyQueue) qmgr(QM1) queue(Q1)
    end
    En essayant d'envoyer un message j'ai l'erreur suivante:

    javax.jms.JMSException: MQJMS2005: Impossible de créer MQQueueManager pour '172.16.1.129:QM1'
    at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:586)
    at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:2110)
    at com.ibm.mq.jms.MQConnection.createQMNonXA(MQConnection.java:1532)
    at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:150)
    at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:185)
    at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:112)
    at com.ibm.mq.jms.MQQueueConnectionFactory.createConnection(MQQueueConnectionFactory.java:1050)
    at com.test.jms.Browser.main(Browser.java:112)



    Est-ce que quelqu'un aurait une idée svp.

    Merci d'avance.

    Loïc

Discussions similaires

  1. Où trouver WebSphere 5 trial maintenant ?
    Par _sybe_ dans le forum Websphere
    Réponses: 2
    Dernier message: 28/01/2008, 11h29
  2. [debutant] websphere et jonas
    Par riven dans le forum Websphere
    Réponses: 4
    Dernier message: 12/05/2004, 23h07
  3. [websphere][jdbc] Installation d'un driver JDBC
    Par bigoudi dans le forum Websphere
    Réponses: 4
    Dernier message: 26/01/2004, 11h37
  4. [ websphere] problème d'export DISPLAY
    Par gogozep001 dans le forum Websphere
    Réponses: 8
    Dernier message: 04/09/2003, 13h31
  5. [JBuilder enterprise8 trial]exécutable possible?
    Par guigui1005 dans le forum JBuilder
    Réponses: 3
    Dernier message: 10/04/2003, 20h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo