2012-10-22 10 views
8

Attualmente sto cercando di aggiornare la mia applicazione web da JBoss 5.1 a JBoss 7.1.1.FinalJboss 7.1 EJB 2.1 personalizzato di configurazione timeout della transazione

Nel mio jboss.xml Ho configurato alcuni timeout EJB personalizzato come il seguente :

 <session> 
     <ejb-name>MSServiceEJB</ejb-name> 
     <jndi-name>ejb/MSServiceEJB</jndi-name> 
     <local-jndi-name>ejb/LocalMSServiceEJB</local-jndi-name> 
     <method-attributes> 
      <method> 
       <method-name>*</method-name> 
       <transaction-timeout>3600</transaction-timeout> 
      </method> 
     </method-attributes> 
    </session> 

JBoss 7 ignora jboss.xml, dove posso specificare i miei EJB 2.1 timeout di transazione?

risposta

6

Per

Source

sostituire il file descrittore di deployment jboss.xml

Il descrittore di deployment jboss-ejb3.xml sostituisce il descrittore di deployment per jboss.xml override e aggiungere alle caratteristiche fornite dal Java Enterprise Edition (EE) definito ejb3-jar.xml descrittore di deployment. Il nuovo file non è compatibile con jboss.xml e jboss.xml ora viene ignorato nelle distribuzioni .

È necessario creare un jboss-ejb3.xml e inserire la configurazione al suo interno.

Sembrerebbe qualcosa di simile:

<assembly-descriptor> 
    <container-transaction> 
     <method> 
      <ejb-name>EJBName</ejb-name> 
      <method-name>methodName</method-name> 
      <method-intf>Local</method-intf> 
     </method> 
     <tx:trans-timeout> 
      <tx:timeout>500</tx:timeout> 
      <tx:unit>Seconds</tx:unit> 
     </tx:trans-timeout> 
    </container-transaction> 
</assembly-descriptor> 

Si utilizza EJB2.x, quindi sarebbe meglio e saggio di configurarlo in ejb-jar.xml

Dovrebbe essere creato in META-INF of the EJB jar.

+0

@Yishai: grazie per l'aggiornamento signore :-) –

+1

Se qualcuno si sta chiedendo quale xlmns impostare per tx: è "urna: trans-timeout" (descritto [qui] (https://docs.jboss.org/author/display/AS7/EJB+3+Reference+Guide)) –

2

È possibile specificare il metodo Bean con l'annotazione @TransactionTimeOut.

@TransactionTimeout(value = 10, unit = TimeUnit.SECONDS) 

Per una descrizione dettagliata di come impostare, si prega di fare riferimento here

Maddy

+3

Questo è per EJB 3, non EJB 2. – Vadzim

Problemi correlati