This blog presents the questions from the August 22, 2022 OpenNTF webinar on XPages Jakarta EE Support In Practice and their answers from our speaker, Jesse Gallagher. Thanks for all the great questions!
Q |
is there any perfomance increase/decrease with large data using JAX-RS vs standard REST to produce json?
|
A |
I haven’t noticed, but I also haven’t done head-to-head performance comparisons. In practice, I’ve found performance to be very good, and you can deal with memory footprint in very large cases by using StreamingOutput in JAX-RS.
|
Q |
When we inject any Domino object into a bean, so we still need to define the field transient? How does it know it will be removed after a req-response cycle?
|
A |
No. You don’t assign the value to the property yourself, and CDI takes care of assigning and it properly per-request.
|
Q |
We can very easily handle CRUD ops with Jakarta Nosql and at this level we don't need accessing Domino with views, entries, collections, etc. However, what would be the best strategy to handle more granular operations? Let's say the Project name has been changed in the OpenNTF site and all releases should be updated.
|
A |
Currently, you would do that in the “object-oriented” way: have a repository that returns all releases for a project name and then go through and update+save each. This also implies a good specific feature request: add StampAll support.
|
Q |
Is SessionAsSigner supported?
|
A |
Yes. You can inject it via @Named(“dominoSessionAsSigner”).
|
Q |
At this moment, I couldn't find a Domino Driver at JNoSQL website. Is it an ongoing development?
|
A |
This is for two reasons: one is that it is indeed under active development (though realistically reached stability a bit ago) and also due to how difficult it is to distribute artifacts that depend on Notes.jar and Domino OSGi, as this does.
|
Q |
Is ODA an actual requirement to install and run XPages Jakarta EE?
|
A |
No. This project doesn’t use ODA, though it’s compatible with it if you choose to use it.
|
Q |
Does the Domino NoSQL repository functionality allow you to specify which session object is used to access data, eg. sessionAsSigner?
|
A |
Yes. When using the @RepositoryProvider annotation for a Repository, you then create a bean that emits a lotus.domino.Database object – this can come from sessionAsSigner if you would like it to.
|
Q |
Hi - we're about to launch a major public-facing website built primarily using xpages as a container for raw html with dynamic content generated via ajax calls to an xpage REST service backed by java beans. In terms of performance would it be worthwhile to replace the REST services with EE + JAX-RS?
|
A |
I would say it’s not worth rewriting just for performance alone. However, a version written with this framework would likely involve significantly less code, has additional capabilities, and will benefit more from future improvements.
|