Jersey - Thread access to @Context objects?



Jersey - Thread access to @Context objects?

Thread local proxies are injected so can only be called if:

1) a request is in scope for the invoking thread; and

2) and from methods on the same invoking thread.

I am unsure how to transition or include additional threads that are  
considered within the scope of the request.

You can instead use a Jersey feature and inject:

  @Context ThreadLocal<HttpServletRequest> treq;
  @Context ThreadLocal<HttpServletResponse> tres;

then call the get method to get the direct instance from the resource  
class and that instance can be passed to the worker thread.


> I run all Servlet API access through a ServletUtil class which
> synchronizes all calls, which works fine directly under Tomcat.  How
> can I make this work under Jersey?
>
> Will finishing the port to the JAX-RS (HttpHeaders/UriInfo/etc) API
> solve this, or will I have the same problem?
>

If your resource classes are in the default per-request scope then  
there will be no issue as direct references of the JAX-RS classes you  
mention will be injected.

If you are using non-per-request-scope you can do:

  @Context com.sun.jersey.spi.inject.Injectable<UriInfo> ui;

Read full article from Jersey - Thread access to @Context objects?


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts