-
Notifications
You must be signed in to change notification settings - Fork 579
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New injection manager for Helidon #3245
Conversation
…on of JAX-RS applications. Signed-off-by: Santiago Pericasgeertsen <santiago.pericasgeertsen@oracle.com>
Signed-off-by: Santiago Pericasgeertsen <santiago.pericasgeertsen@oracle.com>
Signed-off-by: Santiago Pericasgeertsen <santiago.pericasgeertsen@oracle.com>
Signed-off-by: Santiago Pericasgeertsen <santiago.pericasgeertsen@oracle.com>
Signed-off-by: Santiago Pericasgeertsen <santiago.pericasgeertsen@oracle.com>
… between Application subclasses. Signed-off-by: Santiago Pericasgeertsen <santiago.pericasgeertsen@oracle.com>
Signed-off-by: Santiago Pericasgeertsen <santiago.pericasgeertsen@oracle.com>
…me order. Some renaming of variables to help understand semantics. Signed-off-by: Santiago Pericasgeertsen <santiago.pericasgeertsen@oracle.com>
Signed-off-by: Santiago Pericasgeertsen <santiago.pericasgeertsen@oracle.com>
…ds creating multiple injection providers. Better handling of singleton bindings and some new log messages. Signed-off-by: Santiago Pericasgeertsen <santiago.pericasgeertsen@oracle.com>
…internal property to force a single manager regardless of number of JAX-RS apps. Signed-off-by: Santiago Pericasgeertsen <santiago.pericasgeertsen@oracle.com>
Signed-off-by: Santiago Pericasgeertsen <santiago.pericasgeertsen@oracle.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We had a thorough walkthrough of the bulk of the changes, and the single-case optimization is straight-forward.
The only (naïve) question I have is: shouldn't you check the application-specific |
There's no overlap between them, and most of the beans will be in the shared one, so checking it in the reverse order will be more costly. |
New implementation of a Jersey injection manager to handle separation of JAX-RS applications. The new injection manager uses two underlying managers: one that is shared among all applications and one to register classes and singletons returned by the application. For a Helidon application that defines N JAX-RS applications, there will be N+1 of these core managers.
Lookups and injections are carried out by first consulting the shared manager and then the one for the application. This may potentially add some runtime overhead that would need to be tested using our micro-benchmarks.
PR #3166