Java JMS Workflow(4)- Message Selectors與Transaction的應用 文/歐宣修 -----box----- #程式1 jboss.mq:service=DestinationManager jboss.mq:service=SecurityManager -----end----- -----box----- #程式2 msg.setStringProperty(this.SEND_USERID, send_userid); -----end----- -----box----- #程式3 Queue queue = sl.getQueue("queue/docQueue"); log.debug("receive queue name=" + "queue/docQueue"); String selector = this.SEND_USERID + " = '" + loginFrame.userid + "' "; QueueReceiver receiver = qeRcvSession. createReceiver(queue, selector); -----end----- -----box----- #程式4 ALTER TABLE ANNOUNCE TYPE=INNODB; ALTER TABLE DOCUMENT TYPE=INNODB; ALTER TABLE DOCUMENT_DETAIL TYPE=INNODB; ALTER TABLE USERACCOUNT TYPE=INNODB; -----end----- -----box----- #程式5 sql.setLength(0); sql.append("INSERT INTO document (docno, docdate, doctitle, doccontent, userid, dockind, docstatus ) VALUES ( "); sql.append("'" + docno + "', '" + docdate + "', '" + doctitle_iso + "', '" + doccontent_iso + "', '" + userid + "', '" + dockind_iso + "', '" + docstatus + "' )"); log.debug("sql=" + sql); int affect_row=dao.executeUpdate(sql.toString()); if (affect_row <= 0) { JOptionPane.showMessageDialog(this, "存檔失敗!", "錯誤", JOptionPane. ERROR_MESSAGE); dao.rollback(); return; } try { dao.commit(); //commit database connection //commit message session qcSession.commit(); qcSession.close(); queueConn.close(); } catch (Exception ex) { log.error(ex); } -----end----- -----box----- qcSession = queueConn.createQueueSession( true, 0); -----end----- -----box----- #程式6 try { dao.rollback(); //commit database connection qcSession.rollback(); //commit message session qcSession.close(); queueConn.close(); } catch (Exception ex2) { log.error(ex2); } -----end----- -----box----- #程式7 try { dao.commit(); //commit database connection qcSession.commit(); //commit message session qcSession.close(); queueConn.close(); } catch (Exception ex) { log.error(ex); } -----end----- -----box----- #程式8 -----end----- -----box----- #程式9 2004-06-28 22:40:22,314 DEBUG (?:?) - sql= insert into document_detail (docno, docseq, docdate, doccontent, userid, iscomplete) values ( '2004062801',1,'2004/06/28 22:40:05','','nana','N' ) 2004-06-28 22:40:22,354 ERROR (?:?) - javax. naming.NameNotFoundException: docQueue not bound 2004-06-28 22:40:22,364 DEBUG (?:?) – send queue name=queue/docQueue 2004-06-28 22:40:22,394 ERROR (?:?) – java.lang.UnsupportedOperationException: Not constructed with identifyed queue. Usage of method not allowed 2004-06-28 22:40:22,454 DEBUG (SpySession. java:311) - Session closing. 2004-06-28 22:40:22,464 DEBUG ( UILClientILService.java:133) - Stopping -----end-----