国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

使用消息驅動Beans(3)

2019-11-18 12:28:42
字體:
來源:轉載
供稿:網友

  第四部:為MDB(MessageDriveBeans)定義部署描述符(ejb-jar.xml)
  在部署的時候,我們要告訴容器(這里使用的是weblogic)有關MDB的信息。使用標注的EJB部署描述符來安裝MDBs.因此,我們需要創建一個名為META-INF的文件夾來放置這些部署文件。
  
  META-INF/ejb-jar.xml
  在ejb-jar文件中,我們描述MDB類的名稱,bean類的地址類型,和安全信息等。下面是這個文件;注重類名稱和JMS地址類型(標記的內容根據中描述的特定的創建者而改變。假如你使用的是BEA Weblogic6.0sp1你需要使用到描述)
  
  <ejb-jar>
   <enterprise-beans>
   <message-driven>
    <ejb-name>EmailMDB</ejb-name>
    <ejb-class>com.customware.ejb.EmailMDB</ejb-class>
    <transaction-type>Container</transaction-type>
    <message-driven-destination>
    <destination-type>Javax.jms.Queue</destination-type>
    </message-driven-destination>
    <security-identity>
    <run-as-specified-identity>
     <role-name>system</role-name>
    </run-as-specified-identity>
    </security-identity>
   </message-driven>
   </enterprise-beans>
  </ejb-jar>
  
  我們在那里告訴容器隊列的名稱呢?這要放到廠商特定的文件中。比如,假如你部署在BEA WebLogic 6.0上你需要一個weblogic-ejb-jar.xml文件,這個文件應該是這樣的:
  
  META-INF/weblogic-ejb-jar.xml
  
  <weblogic-ejb-jar>
   <weblogic-enterprise-bean>
    <ejb-name>EmailMDB</ejb-name>
    <message-driven-descriptor>
     <pool>
      <max-beans-in-free-pool>200</max-beans-in-free-pool>
      <initial-beans-in-free-pool>5</initial-beans-in-free-pool>
     </pool>
     <destination-jndi-name>EmailQueue</destination-jndi-name>
    </message-driven-descriptor>
    <jndi-name>jms/EmailMDB</jndi-name>
   </weblogic-enterprise-bean>
  </weblogic-ejb-jar>
  
  <ejb-name>描述的名稱對應你在ejb-jar.xml中定義的bean名稱。然后我們可以定義pool(池)信息。在這個例子中我們將擁有最少5個最多200個MDBs實例。這將答應我們有200個并發的消息發送到隊列中。描述的內容告訴容器我們將使用EmailQueue查找目的地址。因為我們并沒有把它寫道代碼中,所以假如JMS環境發生變化,我們只需要修改部署描述文件,然后重新部署就可以了。
  
  第五步:打包代碼:
  現在我們完成了代碼和部署描述文件,我們需要把它們打包然后部署到EJB服務器上。這些文件的目錄結構大概的樣子如下圖所示:
  
  例子文件
  
  下載本文的例子.
  
  其中的client,ejb和util目錄中應該使編譯過的class文件;比如:/client/EmailClient.class, ../ejb/EmailMDB.class, 和 ../util/EmailHelper.class.現在我們通過部署描述符來打包代碼:../code% jar cvf emailmdb.jar com META-INF
  現在我們有了一個Email MDB的jar文件,我們把它部署到EJB服務器上。為了測試,在部署完bean之后,運行client你應該看到EJB服務器發送了一個email.要是這一切運行正常你需要確保javaMail API mail.jar包含在EJB服務器的CLASSPATH中。
  
  結論
  我們已經創建了一個消息驅動Bean,你可以看到在JMS中他作為一個消費者是多么的簡單。消息驅動Bean對于EJB組件結構是一個很好的補充,他為開發人員提供了一個方法來創建消費者使它集合化,支持事務處理并且使用了容器的架構。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 美姑县| 石渠县| 桂平市| 新安县| 上高县| 古交市| 县级市| 九寨沟县| 洛宁县| 鹤庆县| 肃北| 东光县| 湘潭市| 福州市| 庆安县| 六盘水市| 阳江市| 海门市| 黎川县| 淮北市| 红安县| 札达县| 大同市| 咸丰县| 山西省| 沭阳县| 红桥区| 陕西省| 垫江县| 东至县| 潞城市| 凌云县| 酉阳| 饶平县| 收藏| 湘阴县| 玛纳斯县| 南靖县| 株洲县| 漠河县| 故城县|