DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Required Capabilities in Self-Navigating Vehicle-Processing Architectures
  • A Step-by-Step Guide to Implementing Columnar Tables in SQL Server
  • Building a Mortgage Agent With FRED Data, FastAPI, and LLM Tool Calling
  • Parquet vs Lance: How Storage Layout Changes the Read Path

Trending

  • From Polling to PubSub: Building an Asynchronous OPC UA Stack in Python
  • The 20 Software Engineering Laws
  • Top 10 Best Places to Prepare for Your Next Data Engineer Interview
  • Jeffrey Microscope for Generating Flame Graphs in Java
  1. DZone
  2. Data Engineering
  3. Data
  4. Sharing Data Between JAX-RS Filters

Sharing Data Between JAX-RS Filters

A straight and to the point post on JAX-RS filters. Great for anyone using the popular standard for their REST services.

By 
Abhishek Gupta user avatar
Abhishek Gupta
DZone Core CORE ·
Mar. 24, 16 · Analysis
Likes (3)
Comment
Save
Tweet
Share
6.2K Views

Join the DZone community and get the full member experience.

Join For Free

This is a quick post which points out how to share contextual user-defined (custom) data between JAX-RS filters

Filter Execution

  • It is chain based: one filter gets executed after another
  • Request filters are executed before Response filters
  • If a filter throws an exception, the chain breaks and other filters are skipped i.e. an exception from a Request filter will auto-abort all other Request filters. The same is applicable to Response filters

For more info, please do check out one of my existing blog posts which discussed JAX-RS server side processing pipeline in depth

Sharing Data b/w Filters

JAX-RS API enables sharing of user-defined data amongst filters associated with a particular request

  • It is abstracted in the form of a Map<String,Object> (pretty natural choice) via the ContainerRequestContext interface
  • Get all the custom properties using the getPropertyNames() method
  • The value of a specific property can be fetched (from the Map) using getProperty(String name)
  • Overwrite an existing property or add a new one using setProperty(String name, Object val)

Examples

Here is how multiple Request filters can share user-defined contextual data amongst themselves

Another example where a Response filter uses the contextual dataset by a Request filter

To Be Noted…

The same capability is available in the Client side JAX-RS filters as well. The only difference is that you would be interacting with an instance of the ClientRequestContext

Further Reading

Cheers !

This entry was posted in Java EE and tagged filters, javaee7, JAX-RS 2.0, REST. Bookmark the permalink.
Data (computing) Filter (software)

Published at DZone with permission of Abhishek Gupta. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Required Capabilities in Self-Navigating Vehicle-Processing Architectures
  • A Step-by-Step Guide to Implementing Columnar Tables in SQL Server
  • Building a Mortgage Agent With FRED Data, FastAPI, and LLM Tool Calling
  • Parquet vs Lance: How Storage Layout Changes the Read Path

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook