When an ADF ClaimProcessor is added to the framework, is there any documentation available to describe the lifespan of ClaimProcessor objects created? I am trying to understand more deeply how this will affect website performance.

I am assuming there are just two possibilities:

  1. The framework just creates a single instance of the ClaimProcessor for the application? If so, do I need to worry about multi-threading?
  2. The framework creates one instance of the ClaimProcessor per visitor session, and therefore if there is configuration that needs to be loaded in a constructor it will happen once per visitor. If this is the case, how long does the session last before garbage collection clears up un-used objects?

edit: Adding to my original question(s) above, what would be the performance impact of having two ClaimProcessors that add functionally distinct claims vs. combining the processors into one.

Any insight would be greatly appreciated.


1 Answer 1


AFAIK The ADF creates only one instance per ClaimProcessor when the servlet is initialized, and an Engine is created with the configuration file.

This is done in the init of the Engine class:

      claimProcessors.put(cpd.getUri(), cpd.getImplementationClass().newInstance());

Then when a user makes a request, then the only difference between two processors or one combined, would be two function calls or one, in the list of requestStartClaimProcessors. but I don't think the performance impact will be noticeable.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.