Pertama, mari kita perkenalkan secara singkat websphere mq serta instalasi dan penggunaannya.
websphere mq: digunakan untuk mengirimkan informasi dengan fungsionalitas lintas platform.
1 Instal websphere mq dan mulai
2 websphere mq membuat Manajer antrian (seperti: MQSI_SAMPLE_QM)
3. Buat tipe antrian dan pilih tipe Lokal (seperti lq)
4. Tetapkan jenis saluran dan pilih Koneksi Server (seperti BridgeChannel)
Selanjutnya mari kita lihat contoh kodenya:
MQFileReceiver.javapackage com.mq.dpca.file; impor java.io.File; impor java.io.FileOutputStream; impor com.ibm.mq.MQEnvironment; MQGetMessageOptions;import com.ibm.mq.MQMessage;import com.ibm.mq.MQQueue;import com.ibm.mq.MQQueueManager;import com.ibm.mq.constants.MQConstants;import com.mq.dpca.msg.MQConfig;import com.mq.dpca.util.ReadCmdLine; impor com.mq.dpca.util.RenameUtil; * * Fungsi file penerima grup MQ * Polling aktif */kelas publik MQFileReceiver { private MQQueueManager qmgr; // Hubungkan ke manajer antrian private MQQueue inQueue; // Antrian transmisi private String queueName = ""; ""; // port int pribadi = 1414; // Nomor port pendengar saluran String pribadi = ""; qmgrName = ""; // Manajer antrian private MQMessage inMsg; // Membuat buffer pesan private MQGetMessageOptions gmo; // Menyetel opsi akuisisi pesan private static String fileName = null; ccsid = 0; String statis pribadi file_dir = null; /** * Entri program* * @param args */ public static void main(String args[]) { MQFileReceiver mfs = new MQFileReceiver(); //Inisialisasi koneksi mfs.initproperty(); //Menerima file mfs.runGoupReceiver(); //Dapatkan nama skrip shell// String shellname = MQConfig.getValueByKey(fileName);// if( nama shell!=null&&!"".equals(nama shell)){// //Memanggil shell// ReadCmdLine.callShell(nama shell);// }else{// System.out.println("tidak memiliki nama shell,Hanya menerima file.");// } } public void runGoupReceiver() { coba { init(); (); qmgr.commit(); System.out.println("/n Pesan berhasil Diterima "); mqe) { mqe.printStackTrace(); coba { System.out.println("/n Mundur Transaksi "); ); Sistem.keluar(2); } } tangkapan (Pengecualian e) { e.printStackTrace(); Sistem.keluar(2); Inisialisasi informasi koneksi server * * @throws Exception */ private void init() throws Exception { /* Tetapkan properti MQEnvironment untuk koneksi klien */ MQEnvironment.hostname = host; ke manajer antrian*/ qmgr = new MQQueueManager(qmgrName); /* Atur opsi buka antrian untuk input */ int opnOptn = MQConstants.MQOO_INPUT_AS_Q_DEF | MQConstants.MQOO_FAIL_IF_QUIESCING; /* Buka antrian untuk input */ inQueue = qmgr.accessQueue(queueName, opnOptn, null, null, null } /** *Terima Fungsi utama file* * @throws Pengecualian */ public void getGroupMessages() { /* Tetapkan opsi penerimaan pesan */ gmo = new MQGetMessageOptions(); gmo.options = MQConstants.MQGMO_FAIL_IF_QUIESCING; /* Tunggu pesan * / gmo.options = gmo.options + MQConstants.MQGMO_WAIT; /* Tetapkan batas waktu tunggu */ gmo.waitInterval = 5000; /* Dapatkan pesan saja */ gmo.options = gmo.options + MQConstants.MQGMO_ALL_MSGS_AVAILABLE; gmo.options + MQConstants.MQGMO_LOGICAL_ORDER; gmo.matchOptions = MQConstants.MQMO_MATCH_GROUP_ID; /* Membuat buffer pesan*/ inMsg = new MQMessage(); coba { FileOutputStream fos = null; ); jika (fos == null) { coba { Nama file = inMsg.getStringProperty("namafile"); String fileName_full = null; fileName_full = file_dir + RenameUtil.rename(fileName); fos = new FileOutputStream(File baru(fileName_full)); = byte baru[panjang pesan]; inMsg.readFully(buffer); fos.write(buffer, 0, msgLength); /* Periksa apakah itu pengidentifikasi pesan terakhir*/ char x = gmo.groupStatus if (x == MQConstants.MQGS_LAST_MSG_IN_GROUP) { System.out; .println("Pesan Terakhir di Grup"); break; } inMsg.clearMessage(); (Pengecualian e) { System.out .println("Terima pesan tanpa properti, jangan lakukan apa pun!"); inMsg.clearMessage(); else { int msgLength = inMsg.getMessageLength(); [panjang pesan]; dalam Pesan.Baca Sepenuhnya (buffer); fos.write (buffer, 0, Panjang pesan); Periksa apakah itu pengidentifikasi pesan terakhir*/ char x = gmo.groupStatus; if (x == MQConstants.MQGS_LAST_MSG_IN_GROUP) { System.out.println("Pesan Terakhir di Grup"); } } catch (Pengecualian e) { char x = gmo.groupStatus; MQConstants.MQGS_LAST_MSG_IN_GROUP) { System.out.println("Pesan Terakhir di Grup"); } break; } } if (fos != null) fos.close(); e.getMessage()); } } public void initproperty() { Konfigurasi MQConfig = baru MQConfig().getInstance(); if (config.getMQ_MANAGER() != null) { qmgrName = config.getMQ_MANAGER(); queueName = config.getMQ_HOST_NAME( ); Integer.valueOf(config.getMQ_PROT()); ccsid = Integer.valueOf(config.getMQ_CCSID()); file_dir = config.getFILE_DIR();