0

Grails (1.3.6) denetleyici eylemi ve sınıf değişken iş parçacığı güvenli altından bildirilen bir değişken mi? cfrick yanıt olarak yaniGrails (1.3.6) denetleyici eylemi ve sınıf değişken iş parçacığı güvenli altında bildirilen bir değişken mi?

class TestController { 
     String y //Is y thread-safe? 
    def testAction = { 
     String x //Is x thread-safe? 
    } 

} 
+0

Denetleyici talep edilirse (her istek için yeni y). ve x sadece bir yerel var – cfrick

+0

Grails 1.3.6, iyisin. Ancak, Grails 1.4.x'ten itibaren Grails uygulamanız için varsayılan olarak oluşturulan yapılandırma, kontrolörlerin kapsamını "tek" veya "uygulama" olarak değiştirir ve böylece "y" değişken iplik riskli hale gelir. Bunu yapmamalısın, yine de. Durumu doğrudan Denetleyicilere veya Hizmetlere eklemeyin. – billjamesdev

cevap

0

, kontrolörler yüzden hepsi ÅŸan, isteğin kapsamlı ve tüm değişkenlerin her çağrı sıfırlanır vardır.
Neye ulaşmanız gerektiğine bağlı olarak, oturum değişkenlerini veya hizmetini kullanmanızı öneririm
(varsayılan hizmetler tekildir - Hizmetin yalnızca bir örneği var).

+0

Muhtemelen "denetleyiciler kapsamayı talep ediyorlar ve tüm değişkenler her çağrıda sıfırlanacak, yani TÜMÜ hepsi iş parçacığıdır"? Her istek için denetleyicinin yeni bir örneği yapılırsa, değer başka bir istek tarafından kopyalanamaz. – billjamesdev

+0

@billjamesdev evet evet evet .. Şu anda düzenleme. Fark ettiğin için teşekkürler. :) –

İlgili konular