file No, base di WebSphere MQ non trasferisce direttamente. La semantica per lo spostamento di file include cose come nomi di file, percorsi di directory, conversione di nomi attraverso diversi tipi di filesystem (cioè un filetree UNIX rispetto a un Dataset partizionato z/OS). Messaging utilizza la semantica specifica per code e argomenti e questi sono drasticamente diversi da quelli per i file.
Di conseguenza, la base WMQ non tenta di eseguire la semantica dei file come parte della sua funzionalità di base. Il WebSphere MQ File Transfer Edition e IBM Sterling Connect:Direct forniscono tale funzionalità. Nel caso di FTE, il trasferimento file gestito è costruito in modo nativo su WebSphere MQ.
Molte persone hanno in passato soluzioni scritte per spostare i file utilizzando la messaggistica, che si tratti di WebSphere MQ o di un altro fornitore di servizi di trasporto. Si scopre che farlo in modo robusto è un compito non banale. Ecco alcuni dei problemi:
- Se si effettua ogni file un singolo messaggio poi formati dei messaggi variano considerevolmente. È molto difficile mettere a punto il motore di messaggistica per eseguire simultaneamente messaggi molto grandi e molto piccoli.
- Se si suddividono i file in blocchi, si esegue il cna tune delle dimensioni del blocco per prestazioni di messaggistica ottimali, ma ora è necessario occuparsi della conservazione delle sequenze e inviare nuovamente i messaggi mancanti.
- Il problema generale se per aggiungere, sostituire o rinominare un file di destinazione con lo stesso nome.
- Il problema generale di come rendere il file disponibile a destinazione in modo transazionale. Non vuoi che il destinatario prenda mezzo file.
- integrità del file (FTE hash del file per assicurarsi che non venga cambiato in transito).
Questi sono un campionamento dei problemi per farlo in un modo generico. Tuttavia, se tutto ciò di cui hai bisogno è una soluzione one-time point-to-point, dai un'occhiata a SupportPac MA01, il programma Q. Prenderà i file e metterà una riga alla volta in un messaggio o trasformerà l'intero file in un singolo messaggio. Può anche essere usato come pipe, quindi è possibile avere due istanze di Q in cui una pipe invia messaggi a una coda e l'altra li recupera.
fonte
2012-04-13 13:34:00
Il titolo del post chiede se WMQ può trasferire file ma il corpo menziona WMQ File Transfer Edition. Non è chiaro a quale ti riferisci. Puoi chiarire? Stai cercando di scrivere codice per inserire i file nei messaggi? O stai cercando di guidare i trasferimenti FTE dal codice? –
Ci scusiamo per l'ingannevole. Non ho WMQ File Transfer Edition, voglio solo scrivere il codice per inserire i file nei messaggi. Adesso uso FileStream per leggere il contenuto del file come stringa, quindi inserire la stringa nel messaggio.Qualsiasi modo migliore? Grazie! –