2015-01-22 28 views
6

JBoss/Wildfly ile, @TransactionTimeout tescilli bir ek açıklama ve belirli bir Oturum Bean için bir işlem zaman aşımı tanımlayabilirsiniz.WebSphere'te Bean İşlemi Zaman Aşımı EJB Timer'ı kullanarak

IBM WebSphere kullanarak bunu yapmanın eşdeğer yolu nedir?

EJB Timer'ı kullanıyoruz ve bir saatten uzun bir süre içinde Beans'i alacak. Wildfly için

örnek kod:

import org.jboss.ejb3.annotation.TransactionTimeout; 

@Stateless 
@TransactionTimeout(value=7200) 
public class TimerBean { 

} 

Not: WebSphere 8.5 kullanılması. Küresel işlem süresinin değiştirilmesi bir seçenek değildir, bunu belirli bir Oturum Beanine veya belki bir Uygulamaya (EAR) yapmak zorundayız.

cevap

7

Evet, bu mümkün. Özel uzantı ibm-ejb-jar-ext.xml dosyasında transaction-time-out aracılığıyla ayarlayabilirsiniz. Bu dosyada

tanımlayın:

<session name="TimerBean"> 
     <global-transaction transaction-time-out="7200"/> 
</session> 

Bileşen İşlem Zaman Aşımı yalnızca konteyner tarafından yönetilen işlemler kullanmak kurumsal fasulye için
, herhangi bir yeni küresel işlem için saniye cinsinden işlem zaman aşımı, belirtir Konteyner fasulye firması adına başlar. Bileşen adına başlatılan işlemler için, Bileşen İşlemi Zaman Aşımı ayarı, uygulama sunucusu için işlem ayarlarında yapılandırılan varsayılan toplam işlem ömrü zaman aşımını geçersiz kılar. Daha fazla ayrıntı için

İşe yaradı Configuring transactional deployment attributes

+0

kontrol edin. Gönderdiğiniz bağlantının iyi bilgileri var. – BonanzaOne