Vengono visualizzati messaggi di errore classe Java quando si avvia il programma di debug
Scenario: si tenta di avviare il programma di debug su un flusso di messaggi,
ma questo non si avvia e vengono emessi diversi errori evento
relativi alle classi Java.
Spiegazione: la causa più probabile di questo problema è data dal fatto che
non è stato installato Rational Agent Controller. Sebbene Agent Controller
non sia un prerequisito per WebSphere Message Broker, rappresenta
un prerequisito per il programma di debug del flusso di messaggi.
Soluzione: installare l'Agent Controller.
Un messaggio "in attesa di comunicazione" viene visualizzato continuamente quando
si avvia il programma di debug
Scenario: dopo aver fatto clic sul pulsante per l'avvio del
debug, si ottiene una barra di avanzamento a ciclo continuo che riporta il messaggio
"in attesa di comunicazione". Il messaggio "sessione di debug avviata" non viene visualizzato
nel pannello informativo.
Spiegazione: se il flusso di messaggi dispone di nodi con istruzioni ESQL,
tale flusso potrebbe non venire distribuito anche se le istruzioni sono sintatticamente corrette. Questo può avvenire, ad esempio, a causa di più dichiarazioni o
variabili non inizializzate (cioè, problemi semantici che il programma di analisi della
sintassi non rileva). Controllare sempre la Registrazione eventi del workbench
per avere conferma che la versione sottoposta a debug del flusso di messaggi è stata distribuita
correttamente; ha lo stesso nome del flusso di messaggi originale, con il
suffisso _debug_.
Se il flusso di messaggi non viene distribuito in modo appropriato,
il programma di debug non può stabilire la comunicazione con tale flusso e viene visualizzata la barra
di avanzamento continua.
Soluzione: fare clic su Annulla per
eseguire una ripulitura e tornare ad uno stato valido, quindi correggere gli errori e ripetere l'operazione. Per verifica, controllare se il flusso può venire distribuito senza il programma di debug.
Sembra che il programma di debug si arresti
Scenario: si sta eseguendo il debug di un flusso di messaggi e questa operazione continua
dopo aver incontrato un punto di interruzione. Tuttavia, non sembra accadere nulla e dopo
un minuto circa, viene visualizzata una barra di avanzamento, che indica che il programma di debug è in attesa
di comunicazione.
Spiegazione: vi sono due possibili cause.
Il flusso di messaggi potrebbe dover eseguire un'operazione che richiede tempo, come ad esempio
la query di un database di grandi dimensioni e bisogna semplicemente attendere il completamento di questa operazione.
Il broker è stato chiuso o si è verificata qualche altra condizione straordinaria e
la comunicazione si è interrotta. In questo caso, fare clic su Annulla per
arrestare la sessione di debug.
La sessione ha una fine anomala durante il debug
Scenario: dopo il debug di un flusso di messaggi, la sessione termina con una
fine anomala e l'istanza di debug del flusso di messaggi (mf_debug_)
è ancora distribuita al gruppo di esecuzione del broker. Ci si preoccupa del fatto che
questa situazione possa avere effetti sulle operazioni del flusso e si desidera riportare il gruppo di esecuzione
allo stato originale.
Spiegazione: il flusso di messaggi orfano dovrebbe seguire il funzionamento normale
del flusso e i nodi Debug non hanno alcun effetto sull'elaborazione
dei messaggi. Se nel flusso di messaggi è presente un numero ridotto
di nodi, le azioni correttive non apportano cambiamenti significativi al flusso, ad
eccezione del nome. Tuttavia, se il flusso di messaggi è di grandi dimensioni (cioè, è composto da più
di 15 nodi o da diversi flussi secondari), eseguire l'azione correttiva descritta di seguito,
poiché le prestazioni dell'elaborazione messaggi potrebbero risentirne.
Soluzione: ridistribuire il broker.
Una ridistribuzione completa
del broker dovrebbe sostituire il flusso orfano con il flusso di messaggi originale.
Se questa azione non ottiene risultati, rimuovere il flusso orfano dal gruppo di esecuzione,
eseguire la distribuzione e quindi aggiungere flusso ed eseguire la distribuzione per ripristinare lo stato originale
del broker, antecedente la sessione di debug.
Viene visualizzato un messaggio di errore che indica che Rational Agent Controller non
è installato
Scenario: si sta utilizzando il programma di debug del flusso di messaggi
e viene emesso un errore che indica che l'Agent Controller non è installato o
che sono stati scelti il nome host o la porta non corretti. Il servizio Agent Controller
è stato avviato e il nome host e la porta sono validi.
Soluzione: chiudere e riaprire il workbench
e ripetere il comando. E' anche possibile tentare di arrestare e riavviare il servizio Agent
Controller.
I motori del Flusso di
messaggi non sono disponibili
per la selezione
Scenario: si apre la procedura guidata Collega al motore flusso
di messaggi, ma non vi sono motori flusso di messaggi
elencati per il computer host.
Soluzione: chiudere la procedura guidata, riavviare Rational Agent Controller sul
computer server, quindi aprire di nuovo la procedura guidata. Consultare inoltre Collegamento al motore del flusso per il debug.
Non è possibile visualizzare l'elenco dei gruppi di esecuzione
Scenario:Rational Agent Controller è avviato, il broker è in
esecuzione, ma non si riesce a visualizzare l'elenco dei gruppi di esecuzione nella pagina Agente
durante il collegamento al programma di debug.
Soluzione: avviare i servizi Agent Controller prima di avviare
il broker. Riavviare Agent Controller e tentare di nuovo il collegamento.
Vengono visualizzati i nomi dei gruppi di esecuzione non corretti nella pagina Agente
Scenario: vengono visualizzati gli stessi nomi dei gruppi di esecuzione nella
pagina Agente quando si tenta il collegamento al programma di debug.
Spiegazione: Rational Agent Controller non ha aggiornato l'elenco agenti
dall'ultimo tentativo di collegamento al programma di debug.
Soluzione: riavviare Agent Controller per aggiornare l'elenco.
Errore di assegnazione della memoria condivisa su AIX
Scenario: Rational Agent Controller è avviato, il broker è
in esecuzione e viene visualizzato un messaggio di errore che informa sull'esito negativo dell'assegnazione
della memoria condivisa dopo che il broker viene collegato all'Agent Controller.
Spiegazione: è un problema generale di sincronizzazione che si verifica
quando l'Agent Controller è collegato al broker ed il broker non si è
completamente avviato.
Soluzione: attendere l'avvio completo del broker prima di
collegarlo al programma di debug del flusso. In alternativa, impostare il livello di registrazione
nell'Agent Controller su debug o information; in questo modo si concede più tempo
al broker per avviarsi. I seguenti passi spiegano come modificare il livello di
registrazione.
Andare alla directory IBM Agent Controller install dir/config
ed aprire il file di configurazione serviceconfig.xml.
Modificare la tag loggingLevel in debug o
informazioni. Il valore predefinito è warning.
Viene visualizzato un messaggio di errore che indica che non è possibile avviare
la sessione di debug
Scenario: nel tentativo di riavviare o richiamare una nuova sessione di debug, facendo clic sull'icona verde Debug, viene visualizzato un messaggio di errore
che afferma: Impossibile avviare questa sessione di debug.
Spiegazione: quando si fa clic sull'icona Debug,
questa riavvia l'ultima sessione di debug. L'avvio non riesce se non è stata precedentemente
creata una sessione di debug. Inoltre, non riesce se il broker ed il gruppo di esecuzione
precedentemente collegati in una sessione di debug non sono più in esecuzione
oppure sono stati riavviati; la sessione non può essere ricollegata senza una nuova selezione
dell'istanza del processo del nuovo broker e gruppo di esecuzione.
Soluzione:
Chiudere il messaggio di errore e fare clic sulla freccia verso il basso immediatamente a
destra dell'icona Debug.
Riselezionare o modificare le informazioni sul broker e sul gruppo di esecuzione
nella precedente configurazione di avvio del debug facendo clic su Debug nel
menu a discesa e selezionando la precedente configurazione di avvio del debug.
Consultare Collegamento al motore del flusso per il debug per ulteriori informazioni.
Si verifica un timeout durante l'attesa del collegamento del servizio Rational Agent Controller
Scenario: vengono visualizzati messaggi di errore che indicano che il servizio Rational Agent
Controller non è riuscito ad avviarsi e che si è verificato un timeout mentre si attendeva
il collegamento del servizio Agent Controller.
Spiegazione: Agent Controller potrebbe utilizzare la versione non corretta
della JVM.
Soluzione: assicurarsi che venga utilizzata una JVM supportata. Per
stabilire quale JVM si sta utilizzando, immettere il comando java -version
nella riga comandi. Per ottenere il risultato corretto, questo comando deve richiamare il file
eseguibile Java che era stato specificato per l'uso quando è stato installato
Agent Controller.
Il programma di debug non si interrompe al successivo punto di interruzione
Scenario: il programma di debug del flusso di messaggi non si interrompe al
successivo punto di interruzione nel flusso di messaggi.
Soluzione: effettuare i seguenti controlli:
Controllare se DataFlowEngine è in esecuzione; in caso contrario,
riavviarlo.
Controllare la coda di input. Se la coda di input contiene messaggi che sono
rimasti dal precedente utilizzo del programma di debug, eliminarli prima di
inviare un nuovo messaggio.
Il messaggio non interrompe l'esecuzione in qualsiasi punto di interruzione
Scenario: il messaggio non interrompe l'esecuzione in qualsiasi punto di interruzione
dopo il collegamento al programma di debug.
Spiegazione: potrebbe essere un problema di sincronizzazione o
potrebbero essere stati impostati parametri non corretti per la sessione di debug.
Soluzione: effettuare i seguenti passi.
Controllare le impostazioni della configurazione di avvio, assicurandosi di aver specificato
il Progetto flusso, il Nome host e il Motore di flusso corretti per la
sessione di debug.
Riavviare la sessione di debug.
Si verificano problemi di modifica nell'editor Flusso di messaggi
Scenario: si verificano problemi di modifica quando si utilizza
l'editor Flusso di messaggi durante il debug di un flusso di messaggi.
Soluzione: non tentare di modificare il messaggio mentre è collegato il
programma di debug del flusso. Per modificare un flusso di messaggi, scollegare il programma di debug, modificare il
flusso di messaggi e quindi ridistribuire il flusso di messaggi.
La modifica di MQMD (MQ message descriptor) provoca un funzionamento imprevisto nel programma di debug
Scenario: si modificano le proprietà del descrittore MQMD del messaggio
nell'editor Serie di messaggi, ma questo provoca un funzionamento imprevisto nel programma di debug.
Spiegazione: se si modifica il contenuto del descrittore MQMD,
questi campi assumono un certo intervallo di valori. E' necessario conoscere
questi intervalli prima di modificare le proprietà. A meno che non si specifichi in modo esplicito
il valore di questi campi, essi assumono i valori predefiniti e certi campi potrebbero
non essere stati specificati nel messaggio. I valori nei campi che non sono stati
impostati in modo esplicito nel messaggio sono quelli predefiniti; non modificare tali
valori a meno che non se ne conosca il significato o il possibile intervallo di valori.
Non è possibile visualizzare il contenuto del messaggio quando si esegue il debug del flusso di messaggi
Scenario: si sta utilizzando il programma di debug del flusso di messaggi ed
è possibile visualizzare il messaggio che passa attraverso il flusso di messaggi, ma non
si può visualizzare il contenuto del messaggio.
Soluzione: aprire la vista Messaggio di debug del flusso facendo clic su Finestra > Mostra vista > Altro > Flusso di messaggi > Messaggio di debug del flusso, quindi su OK.
Non è possibile visualizzare i nomi dei flussi di messaggi nella vista
Debug
Scenario: non è possibile visualizzare i nomi dei flussi di messaggi distribuiti
nella vista Debug dopo aver collegato il programma di debug
al gruppo di esecuzione.
Soluzione:
Arrestare il broker su cui è in esecuzione il gruppo di esecuzione.
Riavviare Rational Agent Controller in esecuzione sullo stesso
computer del broker.
Riavviare il broker.
Non è possibile visualizzare i nomi dei flussi distribuiti nella vista
Debug
Scenario: non è possibile visualizzare i nomi dei flussi distribuiti
nella vista Debug dopo il collegamento
al gruppo di esecuzione.
Spiegazione: potrebbe trattarsi di un problema di sincronizzazione.
Soluzione: attendere fino al completo avvio del broker e
tentare di collegare nuovamente il programma di debug o riavviare Rational Agent Controller in
esecuzione sullo stesso computer del broker, quindi riavviare il broker.
E' presente un punto esclamativo sopra un nodo durante il debug
Scenario: nell'editor Flusso di messaggi, viene visualizzato un punto
esclamativo (!) sopra un nodo durante il debug.
Spiegazione: si è verificata un'eccezione nel nodo durante il
debug.
Soluzione: esaminare ExceptionList nella vista Variabili
della Prospettiva Debug per scoprire che tipo di
errore si è verificato.
Il valore PutTime notificato da WebSphere MQ su z/OS ed altri valori di ore o registrazioni data/ora non sono coerenti
Scenario: il valore PutTime notificato da WebSphere MQ su z/OS ed altri valori di ore o registrazioni data/ora non sono coerenti.
Viene riscontrata una differenza di circa 20 secondi nei seguenti elementi:
tracce (inclusa quella ottenuta dal nodo Trace)
la registrazione data/ora MQPUTTIME nell'intestazione MQMD del messaggio
registrazioni data/ora ottenute da ESQL (ad esempio, in un nodo Compute)
Spiegazione: WebSphere Message Broker notifica
l'ora utilizzando l'UTC (Coordinated Universal Time), che non tiene conto dei
secondi di aggiustamento. Tuttavia, su z/OS, il valore
putTime del messaggio notificato da WebSphere MQ nell'intestazione
MQMD di un messaggio tiene conto dei
secondi di aggiustamento, utilizzando il valore specificato per il numero di secondi di aggiustamento
nel campo CVT.
Questa incoerenza può causare:
problemi durante il debug
problemi con i flussi di messaggi se si utilizzano registrazioni data/ora per controllare il flusso
di messaggi
informazioni non corrette
Soluzione: impostare il campo CVT in modo che sia conforme ai secondi di aggiustamento
UTC. In alternativa, aggiungere uno scostamento per regolare la lettura di una registrazione data/ora
z/OS. Ad esempio, aggiungere 20 secondi quando si tenta di ottenere il valore CURRENT_TIME in
ESQL.
Non è possibile modificare un flusso di messaggi dopo il debug
Scenario: si stava eseguendo il debug, ma ora il flusso di messaggi
sembra bloccato. Quando si inserisce un nuovo messaggio, non accade nulla.
Spiegazione: questo potrebbe avvenire perché un messaggio è stato ripristinato allo stato
precedente, ma non è stata impostata la proprietà Nome coda di ripristino
allo stato precedente della propria coda di input.
Soluzione: impostare la proprietà Nome coda di ripristino allo
stato precedente su un nome coda valido (come ad esempio il nome della
stessa coda di input) ed il flusso si sbloccherà.
E' stato ridistribuito un flusso di messaggi sottoposto a debug ma la distribuzione è bloccata
Scenario: sono stati rilevati problemi nel flusso di messaggi utilizzando il
programma di debug. Il flusso di messaggi è stato modificato e quindi ridistribuito, ma ora
la distribuzione è bloccata.
Soluzione: assicurarsi che quando si ridistribuisce il flusso ad un
gruppo di esecuzione, tale gruppo non sia ancora collegato al programma di debug.
Il messaggio non interrompe l'esecuzione nei punti di interruzione
Scenario: l'elaborazione di un messaggio prosegue quando si arriva
ad un punto di interruzione.
Spiegazione: potrebbe trattarsi di un problema di sincronizzazione o
potrebbero essere stati impostati parametri non corretti per la sessione di debug.
Soluzione: controllare l'impostazione della configurazione di avvio. Assicurarsi
di aver specificato il Progetto flusso, il Nome host e il Motore di flusso corretti per la
sessione di debug. Riavviare la sessione di debug.
Vengono generati errori quando si copia la mappa di un messaggio in un progetto flusso di
messaggi
Scenario: è stata copiata la mappa di un messaggio in un progetto flusso di
messaggi e sono comparsi degli errori nell'elenco attività.
Spiegazione: nel progetto flusso di messaggi non erano stati
impostati i riferimenti corretti prima di copiare la mappa del messaggio.
Soluzione: questi errori saranno ancora presenti nell'elenco attività, anche se
si reimpostano i riferimenti al progetto subito dopo la copia; è necessario creare
da zero il progetto flusso di messaggi.