?????????????Sun????????????????ó???????API????????????????Java??????????JMS??JMS API???????????н???????????????????У?JNDI???????????????????????????????JNBC???????????????????JMS???????????????????????ù????????API??????п?????????????κ???????????????????????п?????????????????????????????????????????Щ?????????????????????м????MOM????????????????????Щ???????????????????Щ?????Java????????????????????????????JMS????????????д??????JMS API????????????????????????κ???JMS????????????????????Щ????
??????????У????????????δ??????е????????????????????????????JMS API????????????ó??洢?????????С??????????????????????????????????????????JMS??????????????????????Щ??????????????BEA??WebLogic??÷?????????????????÷????????????JMS???????????????www.JavaDevelopersJournal.com??“install.txt”????????л???????????????У??????????????????Щ??ó?????????裬???а????????÷???????????????????????????
??????????????????????????????????????ò?????°汾??BEA/WebLogic??÷????????????BEA?????http://ecommerce.bea.com/index.jsp?????????????e檔
????????
???????????????????????????4???????????????JMS?????????????????????????????/????????Sender.java??Receiver.java?????????JMS?????Queue???е?????????????Publisher.java??Subscriber.java??????????Topic???з???/????????????“readme.txt”????????????????????и?????ó????????????й???????????????????????Щ??ó????????????????“install.txt”???????????????WebLogic?????????б???????????????????л??????Щ????JMS?????????????????????????Щ????????????????????????????????Щ??ó???
????Java???????
????Java???????????????????Щ??????MOM???????????????????????????????÷?????????????????????????????????????Щ??????????????????????????????API???????????????????????????????????????????
????????JMS??????????????????????????????????????????????????????????????????????????????????????????????????????????????κθ?????MOM???????JMS??????????ò???????????檔
????JMS?е??????????Destination??Destination??????????????????????????????????????Destination????????????Topic??Queue??????Destination???????????????????????????????????????????????????????????????????????????Topic???????/???????????????????Queue????????????????????????????????????Destination?????????????JMS?????????????????????????????????????????????????????????????е???????????????????????????????е?????????????????л???????????????????????????????????????Щ?????????????????????á????JMS?????????????????Χ??????????????????о?JMS????Щ???檔
?????????JMS
???????????

??????????JMS??????????ConnectionFactory???????????????????????κη???????????????TopicConnectionFactory????QueueConnectionFactory???????????????????Щ????????е?????????????????????????????????????????????????WebLogic???????Factory????????????Factory?????Topic??Queue???????????“?й?”??????????????WebLogic???????????????????????????????У?????????WebLogic??JMS????????????????JNDI??????Щ?й?????????????JNDI??????????????????Щ?й????
??????????????е??????е???????????????????????????????????????????????WebLogic?д????????Factory?????????????????Factory?????????????weblogic.properties??????????????????Factory??????????????????????????Topic???????????Factory??????????????“install.txt”????У??????????????????????????????????
???????′???????Sender.java?????????????????γ????JMS???????δ?JNDI?л??Queue??ConnectionFactory??
????public final String JMS_FACTORY = "javax.jms.QueueConnectionFactory";
????...
????queueFx = (QueueConnectionFactory) initCtx.lookup(JMS_FACTORY);
????Queue?????ConnectionFactory???????????????JNDI???????????lookup()?????С???????QueueConnectionFactory?????????WebLogic??÷???????????????Sender.java ????????е?getInitialContext()????????????JNDI???WebLogic?л?ó????????????????????????Sun???????ù???API????????????????http://java.sun.com/products/jndi/1.2/javadoc/index.html????
???????ConnectionFactories ???й??????????WebLogic??÷??????????Queue??Topic???????????????Factory???????ConnectionFactories????????????WebLogic JNDI????е???????????????????????????в??????????JNDI?У?Queue?????ConnectionFactory????????“javax.jms.QueueConnectionFactory”???????JNDI?????????????????????????????????????????????????????WebLogic?????Topic??????????ConnectionFactory??????????????????“javax.jms.TopicConnectionFactory”?????JNDI???в?????????????TopicConnectionFactory?????????????????WebLogic?????
????????
?????????????????ConnectionFactory?????????????????“????”??????JMS????????????????????????????????????????????ConnectionFactory??????????????????????????????Connection???????????????????????????JMS?????Connection???????“????JMS???????????????”????????“?????????????????????????TCP/IP????????????????Connection???????п?????????????????????????Щ????????????????????Ω??????????ConnectionFactories?????Connections???????????????????????????Destination?????QueueConnection??TopicConnection ????????????Connection????????????????????е????????????????????????????????????????Connection??????????ConnectionFactory?????Connection??????????????????start??stop???????????????????з??????????????μ??嵥1?е?????????顣
??????
?????????ConnectionFactory?л?????Connection???????Connection?д????????????????Session????????????????????????????????????Destination?????QueueSession??TopicSession????????????????Queue????Topic??Session??????Session???Destination???????????????????????????????????????????Destination??????QueueSession?????????????????Queue???????????????????Destination??????TopicSession?????????????????Topic??????????????????
????Session?????????????????????????????????????????Connection??????????????????????????????????????á???????????????Connection??Session??????????????????????÷??????????y???????Session???????????????????????????????????????????????????????????κ?????????????????????????ò???????Session????????????????????????????????Щ??????????????????????????????????????л?Java?????????????JMS??????й???????????????Message?????????1?????JMS?????к???????????????μ??嵥1?е????(??????
?????????Destination??
??????????κ???????????????????????????????????Destination???????????????κ?????????????????????????????Destination???й????????ConnectionFactories??????ζ??Destination????WebLogic?????????????JNDI??????????????????ζ?????????????£?Destination???????????????????????????????????????Destination??JMS API??????????Destination?????????????Destination????????????Session????????????????JMS API????????????????Destination?????????JMS?????WebLogic????У?????????????????Session????Destination???????WebLogic???????????У???ЩDestination??????????????????????????????????Destination????????????????????Destination?????????weblogic.properties????д????????????“install.txt”????????ù??????????????????????????
?????????????????????Destination?????weblogic.properties???????????????????ж????Destination??WebLogic??÷????????????????????????????JNDI???????????嵥1?????Send.java????е??????????δ???QueueConnection??QueueSession?????????????Sender??ó???????ν?????????Destination????????weblogic.properties????ж??????е??????“jdj.article.queue.sender”??
???????????????????????????
????JMS??????????????????????MessageConsumers??MessageProducers???? ConnectionFactory????????????Connection ??Session??????????????????Topic????Queue???????Щ??????????????????????Destination??????????????????MessageProducer????Producer????????????MessageConsumer????Consumer?????????MessageConsumers????????????Destination???????MessageProducers?????????????Destination?????????Session?????????MessageProducer???????Destination????QueueSender??TopicPublisher?????MessageConsumer????QueueReceiver??TopicSubscriber????????
?????????????????????MessageConsumer??/??MessageProducer?????????????/?????????????????????????????????????????????Queue??Topic????????????????????С?????????????Destination????????????????????
???????
??????????????????????????Topic??Queue?е??????????????????????????????????????Message???????JMS?????????????????????????Destination??????????????Destination????м????????????????????Message??????????????????????????????????????????????塣??????????????·?????????????????????????????????????????????????????????????????????ó?????????Щ??????????????????????????????????????JMS????????????????????????????Щ?????????????巋????????????“??Ч????”??????5??????????????5???????????????????StreamMessage??MapMessage??ObjectMessage??TextMessage ??BytesMessage???μ??1????
?????????
????JMS???????????????????????????????????????????????ζ???????????Destination??????Consumer??????л?????????????????????????????????′?Consumer?????Destination???????磬???????5????ó?????????Topic????м??????????????????????????θ???ó?????????????????????Topic??????????ó???????????????????Topic?????????????????ó??????ν??м??????????????ó??????????????????????????????????????????????塣
????????
????Queue???“????”??“????”???????????????????ζ????????????????????????Queue??????????????ó????????????Queue?е??????
?????????????????ж????????Queue???????????????????????????ó??????Queue?е???????????Queue???ж??Consumer????????Consumer?????????????????????????????Consumer????????????Destination????????Consumer?????????????????????????????????????Topic???μ???????????????
????Sender.java??Receiver.java????а???????????Queue???????Щ????????JMS???????????????????μ?????????Queue??????????Queue???????????????????δ???MessageProducer??MessageConsumer??
?????????Queue????????????????????????????????????????????QueueSender?????????????QueueSession?????createQueueSender()????????QueueSession????????????Queue???????????????????QueueReceiver?????????????QueueSession?????createQueueReceiver()????????QueueSession?????????????????Queue???????
?????嵥2??????Sender.java??sendMsg?????????????????δ?Session????δ???MessageProducer??????????TextMessage??????????????δ????У?????????????QueueSender??????????TextMessage????????????ó???????????TextField?м??????????????????????QueueSender????“????”?????
??????MessageConsumer?????????????????????????????????????????????????MessageConsumer??????????ж???????Consumer???????????????????????????