2010-07-04 9 views
5

Tôi muốn tạo một số dữ liệu yêu cầu rộng có sẵn trong ứng dụng công cụ ứng dụng của tôi.ThreadLocal trên Google App Engine (GAE)

Ví dụ:

  • URL mà yêu cầu đã được thực hiện.
  • Thông tin xác thực.

Tôi thấy rằng ThreadLocal nằm trên số JRE whitelist của GAE.

Có phải là ThreadLocal một cách tốt và an toàn để cung cấp thông tin này có sẵn không? Có cách nào khác thay thế/tốt hơn/được chấp nhận hơn không?

Trả lời

8

Có, thực tiễn được chấp nhận để lưu trữ những thứ này trong một số ThreadLocal. Tuy nhiên, một cách tiếp cận thích hợp hơn là chuyển các giá trị này xung quanh (như các đối số phương thức) ở bất cứ nơi nào chúng cần, thay vì tiếp cận chúng. Nó là thích hợp hơn, bởi vì nó ít testable ít nhất.