2009-08-20 10 views
27

je fais face à l'exception suivante:
weblogic.transaction.internal.TimedOutException: Transaction a expiré après 300 secondesWeblogic Transaction Timeout: comment définir dans la console d'administration dans WebLogic 8.1

ce paramètre est réglé dans la session Stateless EJB Bean comme javax.transaction.UserTransaction jtaTransaction.setTransactionTimeout (300) mais je ne peux pas comprendre, où dans la console d'application pour définir cette propriété.

+0

Si vous n'êtes pas en mesure de régler le délai avec la console, voir [cette réponse] (http://stackoverflow.com/a/17580412/1782379). – bsiamionau

Répondre

37

Une fois connecté, sur la page d'accueil de la console du serveur, vous devriez voir 3 sections:

  • Informations et ressources
  • Configurations de domaine
  • services Configurations

Sous services La configuration est la sous-section Autres services. Cliquez sur le lien Configuration JTA sous Autres services. Le délai d'expiration de la transaction doit être le paramètre le plus élevé sur la page affichée, étiqueté Timeout Seconds.

Weblogic Console screenshot

24

eu le même problème, merci mikej.

Dans WLS 10.3 cette configuration peut être trouvée dans Services> JTA Menu, ou si vous cliquez sur le nom de domaine (premier élément dans le menu) - la configuration > JTA onglets.

alt text

0

Il est possible au niveau de l'application. Cliquez sur l'EJB sous le déploiement (comme Home>> Summary of Deployments>). Cliquez sur l'onglet Configuration et il y a "délai d'attente de transaction:"

+0

Il n'y a rien de tel ... c'est le timeout de la session – Cris

3

En Weblogic 9.2 la configuration via la console est la suivante:

enter image description here

Je crois que la valeur par défaut était 60. N'oubliez pas d'utiliser le bouton Release Configuration après avoir modifié le champ.

0

Si vous ne voulez pas changer le délai d'attente par défaut au niveau du domaine, votre meilleure option est de changer le descripteur de déploiement en définissant les trans-timeout secondes attribut dans le weblogic-ejb-jar.xml - voir http://docs.oracle.com/cd/E11035_01/wls100/jta/trxejb.html

Cette option remplace la valeur par défaut "Timeout Seconds", uniquement pour cet EJB spécifique, tout en laissant tous les autres EJB inchangés.

0

Le lien ci-dessus est plutôt désuet. Pour WebLogic 12c, vous pouvez définir le délai de transaction dans un descripteur de transaction pour chaque EJB dans le descripteur de déploiement WebLogic weblogic-ejb-jar.xml, voir weblogic-ejb-jar.xml Deployment Descriptor Reference.

Pour un message été conduit, il ressemble à ceci:

<weblogic-enterprise-bean> 
    <ejb-name>TestMessageBeanLow</ejb-name> 
    <message-driven-descriptor> 
     <pool> 
      <max-beans-in-free-pool>1</max-beans-in-free-pool> 
     </pool> 
     <destination-jndi-name>jms/ActiveMQ/TestRequestQueue_LOW</destination-jndi-name> 
     <connection-factory-jndi-name>jms/ActiveMQ/TestConnectionFactory</connection-factory-jndi-name> 
    </message-driven-descriptor> 
    <transaction-descriptor> 
     <trans-timeout-seconds>60</trans-timeout-seconds> 
    </transaction-descriptor> 
    <resource-description> 
     <res-ref-name>jms/ConnectionFactory</res-ref-name> 
     <jndi-name>jms/ActiveMQ/TestConnectionFactory</jndi-name> 
    </resource-description> 
</weblogic-enterprise-bean> 

Questions connexes