2010-11-22 12 views
1

Özet SoruSunucuyu başlatma veya bir Java uygulama sunucusunda Servlet çağrısının dışında paylaşılan kaynak yükleme için en iyi uygulama nedir?

bir Java uygulama sunucusu içinde servlet arasında paylaştırılır kaynakları hafızaya yükler için en iyi yolu nedir?

Bir kuyruk izleyen bir cin parçacığı oluşturmak istiyorum ne ben aslında

yapıyorum. Bu sıra, servlet iş parçacıklarından nesnelere eklenebilir. İş parçacığı belirli bir zaman dilimi kadar bekler ve öğede olup olmadığını görmek için sıraya bakar, eğer öyleyse bunları işleyip kaldırabilir. Bu iş parçacığı bir ara bir yerde başlatılmalıydı. Uygulanan sadece init yöntemine sahip bir sunucu uygulamasının bu görev için işe yarayacağını ya da başlangıç ​​kodunun bir uygulama sunucusunda bu şekilde yerleştirilmesi için daha iyi bir yer olduğunu mu düşünüyordum? Soruna tümüyle yaklaşıyor muyum?

Güncellemeler

Ben this question bulundu ve kabul cevap LifeCycle İşleyici'yi kullanmaktı. Bu, bir şeyler yapmanın taşınabilir bir yolu mu yoksa kodum tek bir uygulama sunucusuna bağlı olacak. Biraz daha fazla araştırma beni mesaj panolarında bir ServletContextListener uygulamasında yapabileceğimi söyleyen birkaç yazı bulmamı sağladı.

cevap

2

Genellikle bu tür çalışan iş parçacıklarını tanımladığınız yöntemi kullanarak bir Servlet'den dolaylı olarak başlatırım (genellikle kuyruk çıkarımını gerçekleştiren ve işlemeyi denetleyen diğer bazı nesnelerin içinde bulunurlar).

Nesneleri nesnelere çekmek için, zamana dayalı olarak yapmanız gerekmez, kuyruk nesnesinde iş parçacığınızın beklemesini() bekleyebilir ve bir nesneyi kuyruğa başka bir iş parçacığı tarafından koyabilirsiniz. iş parçacığı, 'işçi' iş parçacığını serbest bırakmak için sıradaki notify() öğesini çağırır.

Birçok örnek için 'java çalışan iş parçacığı beklemede' uyarısı.

+0

Beklediğiniz için teşekkürler/bilgilendirin. – Elijah

İlgili konular