I added the following dependency and I was able to get rid of the above error -
'org.glassfish.jersey.inject:jersey-hk2:3.0.2' Best, Aniruddha ======== ᐧ On Sun, May 2, 2021 at 7:45 PM Aniruddha Tekade <[email protected]> wrote: > I replaced it with - > > contexts.addHandler(ctx); > > But I am still getting the Caused by: java.lang.IllegalStateException: > InjectionManagerFactory not found error. > > Best, > Aniruddha > ======== > > ᐧ > > On Sun, May 2, 2021 at 7:03 PM Lachlan Roberts <[email protected]> > wrote: > >> You are currently replacing the ContextHandlerCollection with your >> ServletContextHandler, but you don't want to do that. >> By adding the ServletContextHandler into the existing >> ContextHandlerCollection you will maintain the previous handlers >> (LoggingHandler, HelloHandler and SampleApi). >> >> Cheers, >> Lachlan >> >> On Mon, May 3, 2021 at 11:50 AM Aniruddha Tekade via jetty-users < >> [email protected]> wrote: >> >>> Hi Lachlan, >>> >>> Would this replace previous handlers from the server? >>> >>> Best, >>> Aniruddha >>> ======== >>> >>> ᐧ >>> >>> On Sun, May 2, 2021 at 6:47 PM Lachlan Roberts <[email protected]> >>> wrote: >>> >>>> Aniruddha, >>>> >>>> You should not be setting the ServletContextHandler as the handler for >>>> the server, but instead just add it to the ContextHandlerCollection. >>>> >>>> Try replacing the line >>>> server.setHandler(ctx); with >>>> contexts.addHandler(ctx); >>>> >>>> Cheers, >>>> Lachlan >>>> >>>> On Mon, May 3, 2021 at 9:22 AM Aniruddha Tekade via jetty-users < >>>> [email protected]> wrote: >>>> >>>>> Hello all, >>>>> >>>>> I am using Jetty 11 (Jakarta namespace ) and trying to integrate >>>>> swagger into it. I am very new to swagger as well as Jetty, I am >>>>> referring a github gist - >>>>> https://gist.github.com/nosmokingpistol/302c4c3ef30f183cf70e >>>>> >>>>> When I looked at the examples of the swagger integration into Jetty, >>>>> most of the projects create a ServletContextHandler and then add it >>>>> into >>>>> ContextHandlerCollection. And this seems to be the easiest option to >>>>> work >>>>> with. >>>>> >>>>> However, in my case, there are already pre-existing handlers of type >>>>> ContextHandler added into contextHandlerCollection. So when I add >>>>> my ServletContextHandler into ContextHandlerCollection and run the >>>>> program, >>>>> it fails at: >>>>> >>>>> Caused by: java.lang.IllegalStateException: InjectionManagerFactory >>>>> not found. >>>>> >>>>> I need help with understanding how I can add different handlers into >>>>> Jetty 11's >>>>> ContextHandlerCollection and make it run successfully? >>>>> >>>>> My server main method : >>>>> -------------------------- >>>>> >>>>> public static void main(String[] args) throws Exception { >>>>> System.out.println("StartHFS"); >>>>> >>>>> // Create and configure a ThreadPool. >>>>> QueuedThreadPool threadPool = new QueuedThreadPool(); >>>>> threadPool.setName("server"); >>>>> >>>>> // Create a Server instance. >>>>> Server server = new Server(threadPool); >>>>> >>>>> // HTTP configuration and connection factory. >>>>> HttpConfiguration httpConfig = new HttpConfiguration(); >>>>> HttpConnectionFactory http11 = new HttpConnectionFactory(httpConfig); >>>>> >>>>> // Create a ServerConnector to accept connections from clients. >>>>> ServerConnector connector = new ServerConnector(server, 1, 1, http11); >>>>> connector.setPort(8080); >>>>> connector.setHost("0.0.0.0"); >>>>> connector.setAcceptQueueSize(128); >>>>> server.addConnector(connector); >>>>> >>>>> addHandlers(server); >>>>> >>>>> // Start the Server so it starts accepting connections from clients. >>>>> server.start(); >>>>> server.join(); >>>>> >>>>> System.out.println("StartHFS DONE"); >>>>> } >>>>> >>>>> static void addHandlers(final Server server) throws Exception { >>>>> ContextHandlerCollection contexts = new >>>>> ContextHandlerCollection(); >>>>> server.setHandler(contexts); >>>>> >>>>> ContextHandler logHandler = new ContextHandler("/log"); >>>>> logHandler.setHandler(new LoggingHandler()); >>>>> contexts.addHandler(logHandler); >>>>> >>>>> ContextHandler helloHandler = new ContextHandler("/hello"); >>>>> helloHandler.setHandler(new HelloHandler()); >>>>> contexts.addHandler(helloHandler); >>>>> >>>>> ContextHandler apiHandler = new ContextHandler("/api"); >>>>> apiHandler.setHandler(new SampleApi()); >>>>> contexts.addHandler(apiHandler); >>>>> >>>>> ServletContextHandler ctx = new >>>>> ServletContextHandler(ServletContextHandler.NO_SESSIONS); >>>>> ctx.setContextPath("/"); >>>>> server.setHandler(ctx); >>>>> ServletHolder servletHolder = >>>>> ctx.addServlet(ServletContainer.class, "/rest/*"); >>>>> servletHolder.setInitOrder(1); >>>>> >>>>> servletHolder.setInitParameter("jersey.config.server.provider.packages", >>>>> "com.cloudian.handlers"); >>>>> } >>>>> >>>>> -------------------------- >>>>> >>>>> My dependencies are from Jakarta 9 namespace (even for >>>>> swagger-core/openapi3.0): >>>>> >>>>> -------------------------- >>>>> >>>>> dependencies { >>>>> testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0' >>>>> testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' >>>>> compile 'org.eclipse.jetty:jetty-server:11.0.0' >>>>> compile 'org.eclipse.jetty:jetty-servlet:11.0.0' >>>>> compile 'org.eclipse.jetty:jetty-util:11.0.0' >>>>> implementation group: 'org.json', name: 'json', version: '20201115' >>>>> >>>>> // Jersey dependencies to setup jersey with Jetty >>>>> implementation >>>>> 'org.glassfish.jersey.containers:jersey-container-jetty-http:3.0.2' >>>>> implementation 'org.glassfish.jersey.core:jersey-server:3.0.2' >>>>> implementation >>>>> 'org.glassfish.jersey.containers:jersey-container-servlet-core:3.0.2' >>>>> >>>>> // alternative to jaxrx.ws.rs for Jetty 11 >>>>> implementation 'jakarta.ws.rs:jakarta.ws.rs-api:3.0.0' >>>>> >>>>> // Swagger core dependencies >>>>> implementation 'io.swagger.core.v3:swagger-jaxrs2-jakarta:2.1.9' >>>>> } >>>>> >>>>> -------------------------- >>>>> >>>>> How do I solve this issue? How do I make Jetty run even after adding >>>>> servletContextHandler into ContextHandlerCollection? What is the mistake I >>>>> am doing here? >>>>> >>>>> Best, >>>>> Aniruddha >>>>> ======== >>>>> ᐧ >>>>> _______________________________________________ >>>>> jetty-users mailing list >>>>> [email protected] >>>>> To unsubscribe from this list, visit >>>>> https://www.eclipse.org/mailman/listinfo/jetty-users >>>>> >>>> _______________________________________________ >>>> jetty-users mailing list >>>> [email protected] >>>> To unsubscribe from this list, visit >>>> https://www.eclipse.org/mailman/listinfo/jetty-users >>>> >>> _______________________________________________ >>> jetty-users mailing list >>> [email protected] >>> To unsubscribe from this list, visit >>> https://www.eclipse.org/mailman/listinfo/jetty-users >>> >> _______________________________________________ >> jetty-users mailing list >> [email protected] >> To unsubscribe from this list, visit >> https://www.eclipse.org/mailman/listinfo/jetty-users >> >
_______________________________________________ jetty-users mailing list [email protected] To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jetty-users
