2013-08-06 24 views
26

Documentation for jersey 2.0 says:java Jersey 2.1 istemci iş parçacığı güvenli mi?

Müşteri örnekleri pahalı kaynaklardır. Web kaynaklarının oluşturulması için yapılandırılmış örneğinin yeniden kullanılması önerilir. Web kaynaklarının oluşturulması, yanıtlarının alınmasının ve alınmasının iş parçacığı için güvenli olması garanti edilir. Böylece istemci örneği ve WebResource örneği birden parçacığı

arasında paylaşılabilir

mi istemci yine evreli sürüm 2.1? docs for 2.1.

+1

Sizin için bir bilet açtım (me lol): https://java.net/jira/browse/JERSEY-3094 –

cevap

1

'da iplik güvenliği hakkında bilgi bulamıyorum, 2.1 release notes'a göre, bu konuda hiçbir şey değişmedi, ancak bu değişiklik için motivasyonu bulamıyorum.

16

Evet, Jersey 2.1 istemcisi iş parçacığı için güvenlidir ve gelecekteki Jersey sürümünde bile iş parçacığı güvenli olmalıdır. Bir Müşteri örneğinden çok sayıda WebTarget'i oluşturabilir ve bu WebTarget'lerinde birçok isteği ve aynı zamanda bir WebTarget örneğinde daha fazla istekte bulunabilirsiniz.

İş parçacığı olmayan güvenli sağlayıcınızı bir İstemciye veya WebTaget'e kaydederseniz, iş parçacığı güvenliği bozulabilir. Örneğin iş parçacığı güvenli olmayan ve aynı anda daha fazla istekleri işleyemeyen bir ClientRequestFilter. Jersey yerleşik sağlayıcıları iş parçacığı güvenlidir. Bazı Jersey uzantısı sağlayıcıları iş parçacığı güvenli olmamalıdır ve bu durumda bu bir sağlayıcının javadoc'unda belirtilir.

+1

Yardımcı yanıt. Bunun için de kaynakların var mı? –

+3

Bu kısıtlama JAX-RS'den mi yoksa sadece Jersey'den mi geliyor? Çünkü ['javax.ws.rs.client.Client'] (https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/client/Client.html) yalnızca şunları söylüyor: _Clients ağır nesnelerdir ... İstemci örneğinin kullanıma sunulmasının yanı sıra başlangıç ​​durumuna getirme işlemi de oldukça pahalı bir işlem olabilir. Bu nedenle, yalnızca az sayıda İstemci örneğinin oluşturulması tavsiye edilir ... Kaynakların sızmasını önlemek için, istemci örnekleri düzgün bir şekilde kapatılmalıdır. Yani, iş parçacığı güvenliği ** ile ilgili hiçbir şey yoktur. yeniden ** ve aynı zamanda _at hakkında hiçbir şey yok. – lucasvc

+1

@datakey EXACTLY, kimse cevabı onaylayabilir mi? 'Client' ve' WebTarget' hakkında ne düşüneceğimi bilmiyorum. – Yanko