Diagnosi dei problemi quando si esegue un esempio

Questo argomento illustra alcune strategie per la diagnosi dei problemi quando si esegue l'esempio e non si riceve il risultato corretto. Seguire le istruzioni riportate sotto.

  1. Utilizzare WebSphere MQ Explorer per determinare su quale coda si trova il messaggio di input:
    1. Avviare WebSphere MQ Explorer.
    2. In WebSphere MQ Explorer, espandere le cartelle per visualizzare il gestore code broker, WBRK_DEFAULT_QUEUE_MANAGER.
    3. Fare clic sulla cartella Queues del gestore code per visualizzare le relative code.
    4. Controllare la colonna Current depth per individuare la coda che contiene il messaggio di input. Se vi sono diversi messaggi in una coda, fare clic con il tasto destro del mouse sulla coda, quindi fare clic su Browse Messages per determinare se i messaggi in questione sono in coda.
  2. Utilizzare la tabella seguente per individuare il problema e una soluzione suggerita per risolverlo. Se l'esempio che si sta utilizzando non contempla un database, ignorare i problemi relativi al database inseriti nella tabella.
  3. Se la tabella non è stata utile per la risoluzione del problema, tornare al Message Brokers Toolkit e controllare i messaggi di errore nella vista relativa ai problemi. Utilizzare queste informazioni per la risoluzione del problema.
  4. Se l'utente ha creato lui stesso l'esempio, potrebbe essere necessario controllare che tutti gli oggetti contenuti nell'esempio siano stati denominati e configurati correttamente.
Problema Causa Soluzione suggerita
Il messaggio di input si trova nella coda IN. Il broker, Gestione configurazione, il gestore code, il listener o il flusso stesso dei messaggi è stato arrestato. Verificare che tutti i componenti siano in esecuzione e che il listener del gestore code sia in ascolto sulla porta del gestore code. Avviare eventuali componenti che non sono in esecuzione.
E' già presente sulla coda IN un messaggio non identificabile che il flusso di messaggi non è in grado di elaborare. In WebSphere MQ Explorer, fare clic con il tasto destro del mouse sulla coda IN, quindi fare clic su All tasks > Clear Messages.
Il messaggio di input viene inviato nella coda FAIL. Il nodo MQInput non è in grado di identificare il parser da utilizzare per analizzare il messaggio. Se si sta utilizzando la funzione di accodamento nel workbench o lo strumento RfhUtil fornito in Support Pac IH03, è necessario inserire tutte le informazioni necessarie sull'intestazione del messaggio negli appositi campi dello strumento.
Se si sta utilizzando lo strumento mqsiput.exe, è necessario aggiungere le informazioni sull'intestazione al file dei messaggi in questione.
Il messaggio di input viene inviato nella coda SYSTEM.DEAD.LETTER.QUEUE La coda nella quale si supponeva dovesse essere inserito il messaggio di input non esiste. Assicurarsi di aver creato tutte le code necessarie per l'esempio.
Impossibile trovare il messaggio di input in qualsiasi coda. Non è stato aggiornato il pannello in WebSphere MQ Explorer oppure sono state aggiornate solo solo alcune delle code. Per aggiornare tutte le code in WebSphere MQ Explorer, fare clic con il tasto destro del mouse su Queues, quindi fare clic su Refresh. Si noti che in WebSphere MQ Explorer Versione 5.3, se si fa clic con il tasto destro del mouse su una coda e quindi su Refresh viene aggiornata solo la coda selezionata; in WebSphere MQ Explorer Versione 6.0, quando si fa clic su Refresh, si aggiornano tutte le code contenute nella cartella.
Il messaggio di input è stato inviato ad un terminale non connesso ad un altro nodo ed il messaggio è stato eliminato. Assicurarsi che tutti i nodi siano reciprocamente connessi come richiesto dall'esempio.
Il messaggio di input viene inviato alla coda FAIL oppure la Registrazione eventi contiene un messaggio che indica che il database non è stato trovato oppure si verificano entrambi i casi. DB2 non è in esecuzione. In una finestra di comandi DB2, immettere il seguente comando:
db2 start
Se DB2 è già in esecuzione, si riceve il seguente messaggio:
'Il gestore database è già attivo'.
Il flusso di messaggi sta tentando l'accesso ad una tabella database che non si trova nello schema predefinito. Il nome dello schema predefinito è determinato da ed è uguale al nome utente utilizzato per accedere al database. Se la tabella non è contenuta nello schema predefinito e non è stato specificato alcun altro schema nell'ESQL del flusso di messaggi, tale flusso ricerca la tabella nello schema predefinito.

In una finestra di comandi DB2, immettere i seguenti comandi:
DB2 "CONNECT TO database user username"
DB2 "CREATE VIEW tablename AS SELECT * FROM tableschema.tablename"
dove tableschema indica lo schema che contiene la tabella a cui accede il flusso di messaggi, username è il nome utente del broker, tablename è la tabella a cui accede il flusso di messaggi.