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
