2012-01-21 7 views
5

मैंने ईजेबी 3.0 में @ActivationConfigProperty का उपयोग कर संदेश गंतव्य प्रकार, नाम इत्यादि कॉन्फ़िगर किया है, लेकिन मैं ईजेबी 2.0 में तैनाती वर्णनकर्ता (ejb-jar.xml) का उपयोग करके MDB को कॉन्फ़िगर करना चाहता था।क्या हम ईजेबी 3.0 में MessageDrivenBean (MDB) के लिए एनोटेशन के बजाय ejb-jar.xml का उपयोग कर सकते हैं?

FYI करें: मैं JBoss 6

उपयोग कर रहा हूँ

किसी को भी मुझे इस पर मार्गदर्शन कर सकते हैं?

उत्तर

7

धन्यवाद आदमी, लेकिन मैंने इसे एक बहुत ही सरल तरीके से समझ लिया है। नीचे कोड

<ejb-jar id="ejb-jar_ID" version="3.1" 
     xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
          http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"> 

    <display-name>SampleTransactionMDB</display-name> 
    <enterprise-beans> 
    <message-driven> 
     <display-name>SampleTransactionMDB</display-name> 
     <ejb-name>SampleTransactionMDB</ejb-name> 
     <ejb-class>com.example.SampleTransactionMDB</ejb-class> 
     <transaction-type>Container</transaction-type> 
     <activation-config> 
     <activation-config-property> 
      <activation-config-property-name>destinationType</activation-config-property-name> 
      <activation-config-property-value>javax.jms.Queue</activation-config-property-value> 
     </activation-config-property> 
     <activation-config-property> 
      <activation-config-property-name>destination</activation-config-property-name> 
      <activation-config-property-value>/queue/SampleTransactionQueue</activation-config-property-value> 
     </activation-config-property> 
     </activation-config> 
    </message-driven> 
    </enterprise-beans> 
    <assembly-descriptor> 
    </assembly-descriptor> 
</ejb-jar> 
है
5

नीचे एमडीबी कॉन्फ़िगर करने के लिए एक्सएमएल सामग्री है, तदनुसार नीचे दिए गए कोड को संशोधित कर सकते हैं।

<enterprise-beans> 
    <message-driven> 
     <ejb-name>SomeMessageBean</ejb-name> 
     <ejb-class> 
      com.bean.SomeMessageBean 
     </ejb-class> 
     <messaging-type>javax.jms.MessageListener</messaging-type> 
     <transaction-type>Container</transaction-type> 
     <message-destination-type> 
      javax.jms.Queue 
     </message-destination-type> 
     <activation-config> 
      <activation-property> 
       <activation-config-property-name>destinationType 
       </activation-config-property-name> 
       <activation-config-property-value>javax.jms.Queue 
       </activation-config-property-value> 
      </activation-property> 
      <activation-property> 
       <activation-config-property-name>messageSelector 
       </activation-config-property-name> 
       <activation-config-property-value>MessageFormat = 'Version 3.4' 
       </activation-config-property-value> 
      </activation-property> 
      <activation-property> 
       <activation-config-property-name>acknowledgeMode 
       </activation-config-property-name> 
       <activation-config-property-value>Auto-acknowledge 
       </activation-config-property-value> 
      </activation-property> 
     </activation-config> 

     <resource-ref> 
        <resource-ref-name>jms/ConnectionFactory</resource-ref-name> 
        <resource-type> 
         javax.jms.ConnectionFactory 
        </resource-type> 
         <res-auth>Container</res-auth> 
         <mapped-name>ConnectionFactory</mapped-name> 
         <injection-target> 
          <injection-target-class> 
           com.bean.SomeMessageBean 
          </injection-target-class> 
          <injection-target-name>datasource</injection-target-name> 
         </injection-target> 
       </resource-ref> 
    </message-driven> 
</enterprise-beans> 
संबंधित मुद्दे