Open eharish394 opened 3 months ago
@eharish394 how are you starting the server? Please also paste you stack trace or log files to show us what the actual problem is.
BTW, it may be better to go the embedded code route, rather than cutting and pasting the xml into one great big xml file - it makes upgrading the version of jetty much harder as you can't get any help from IDEs and is by nature error prone.
Not sure what the jarlist_info.txt
file is, but if that's all on your classpath at runtime it's wrong - you have duplicate jars of different versions, for example you have all of the following servlet api jars listed:
jakarta.servlet-api-6.0.0.jar
jetty-jakarta-servlet-api-5.0.2.jar
jetty-servlet-api-4.0.6.jar
But if you're using ee10
you should only have jakarta.servlet-api-6.0.0.jar
.
currently whenever I make request , getting 404 not found, and no specific error found in logs, here in the attachment I am starting sever programmatically standalonejetty.zip
if I make custom servlet class (TestServletImpl) enable(line #11) and disable ServletContainer at line#10 in web.xml , then http://localhost:8443/demoEndpoint/api/endpoint1 is success(200OK)
but I wanted to call my default endpoint which is TestEndpoint(works fine in 8.1.16 version),getting 404 error in 12.0.12 (http://localhost:8443/demoEndpoint/test/ping)
note : in 8.1.16 I have only
In Jetty 12.0.12 ...
Use the command line start.jar jetty.server.dumpAfterStart=true
and copy/paste the entire startup logs here.
Yes, it can be quite large, but don't worry about it, we can handle it.
If you have to redact anything, just use XXXXX
over the things you want to redact, just don't delete any lines.
here I am using endpoint TestEndpointjava.txt
startup log(including dump) : 2024_08_22.jetty.log
additionally we can find dump here :
2024-08-22 10:30:44.008:INFO :oejs.Server:main: Started oejs.Server@6ca8564a{STARTING}[12.0.12,sto=5000] @4128ms
oejs.Server@6ca8564a{STARTING}[12.0.12,sto=5000] - STARTING
+= QueuedThreadPool[qtp1397616978]@534df152{STARTED,10<=18<=200,i=7,r=-1,t=58189ms,q=0}[ReservedThreadExecutor@402c4085{capacity=32,threads=ThreadIdPool@57a78e3{capacity=32}}] - STARTED
| +- org.eclipse.jetty.util.thread.ThreadPoolBudget@25a65b77
| += ReservedThreadExecutor@402c4085{capacity=32,threads=ThreadIdPool@57a78e3{capacity=32}} - STARTED
| | +~ QueuedThreadPool[qtp1397616978]@534df152{STARTED,10<=18<=200,i=7,r=-1,t=58189ms,q=0}[ReservedThreadExecutor@402c4085{capacity=32,threads=ThreadIdPool@57a78e3{capacity=32}}] - STARTED
| | +- ThreadIdPool@57a78e3{capacity=32}
| +> threads size=18
| +> qtp1397616978-26 RUNNABLE tid=26 prio=5 SELECTING
| +> qtp1397616978-27 TIMED_WAITING tid=27 prio=5 IDLE
| +> qtp1397616978-25 RUNNABLE tid=25 prio=5 SELECTING
| +> qtp1397616978-44 TIMED_WAITING tid=44 prio=5 IDLE
| +> qtp1397616978-28 RUNNABLE tid=28 prio=5 SELECTING
| +> qtp1397616978-34 RUNNABLE tid=34 prio=5 SELECTING
| +> qtp1397616978-30 RUNNABLE tid=30 prio=5 SELECTING
| +> qtp1397616978-41 RUNNABLE tid=41 prio=5 SELECTING
| +> qtp1397616978-32 RUNNABLE tid=32 prio=5 SELECTING
| +> qtp1397616978-38 RUNNABLE tid=38 prio=5 SELECTING
| +> qtp1397616978-29 TIMED_WAITING tid=29 prio=5 IDLE
| +> qtp1397616978-31 RUNNABLE tid=31 prio=5 SELECTING
| +> qtp1397616978-37 TIMED_WAITING tid=37 prio=5 IDLE
| +> qtp1397616978-39 TIMED_WAITING tid=39 prio=5 IDLE
| +> qtp1397616978-33 RUNNABLE tid=33 prio=5 SELECTING
| +> qtp1397616978-43-acceptor-0@5d5b5fa7-ServerConnector@11bd0f3b{HTTP/1.1, (http/1.1)}{0.0.0.0:8080} RUNNABLE tid=43 prio=3 ACCEPTING
| +> qtp1397616978-40 TIMED_WAITING tid=40 prio=5 IDLE
| +> qtp1397616978-42 TIMED_WAITING tid=42 prio=5 IDLE
+= oejut.ScheduledExecutorScheduler@163e4e87{STARTED} - STARTED
| +> java.base@17.0.8.1/jdk.internal.misc.Unsafe.park(Native Method)
| +> java.base@17.0.8.1/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
| +> java.base@17.0.8.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672)
| +> java.base@17.0.8.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182)
| +> java.base@17.0.8.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899)
| +> java.base@17.0.8.1/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)
| +> java.base@17.0.8.1/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)
| +> java.base@17.0.8.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
| +> java.base@17.0.8.1/java.lang.Thread.run(Thread.java:833)
+- org.eclipse.jetty.io.ArrayByteBufferPool@50b472aa{min=0,max=65536,buckets=16,heap=0/1062207488,direct=0/1062207488}
| +> direct size=16
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@7bc6d27a{capacity=4096,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@75769ab0{capacity=8192,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@6869a3b3{capacity=12288,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@6ab4ba9f{capacity=16384,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@27ace0b1{capacity=20480,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@664e5dee{capacity=24576,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@431f1eaf{capacity=28672,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@cb03411{capacity=32768,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@4c59e45e{capacity=36864,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@58ec7116{capacity=40960,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@63bde6c2{capacity=45056,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@6ea04618{capacity=49152,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@6dd82486{capacity=53248,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@56078cea{capacity=57344,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@5a00eb1e{capacity=61440,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| | +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@36fcf6c0{capacity=65536,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> indirect size=16
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@1aac188d{capacity=4096,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@7026b7ee{capacity=8192,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@2d23faef{capacity=12288,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@7cb8437d{capacity=16384,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@62a4417{capacity=20480,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@43f61afb{capacity=24576,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@713064e8{capacity=28672,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@4fad6218{capacity=32768,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@1bf39d06{capacity=36864,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@68217d41{capacity=40960,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@1ac45389{capacity=45056,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@3e5d4f6b{capacity=49152,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@39c1fe0b{capacity=53248,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@5ae95707{capacity=57344,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@62891fc8{capacity=61440,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
| +> org.eclipse.jetty.io.ArrayByteBufferPool$RetainedBucket@367b22e5{capacity=65536,in-use=0/0,pooled/acquires=0/0(NaN%),non-pooled/evicts/removes/releases=0/0/0/0}
+~ org.eclipse.jetty.util.resource.FileSystemPool@41e36e46
+= oejsh.DefaultHandler@409bf450{showContext=true,favIcon=true,STARTED} - STARTED
+= oejd.DeploymentManager@ba2f4ec{STARTED} - STARTED
| += class org.eclipse.jetty.deploy.providers.ContextProvider@209da20d[file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/] - STARTED
| | +- ju.HashMap@0{size=0}
| | += oejur.ResourceFactoryInternals$LifeCycle@54bff557{STARTED} - STARTED
| | | +> newResourceReferences size=0
| | +- org.eclipse.jetty.util.resource.ResourceFactory$2@593aaf41
| | += oeju.Scanner@76494737{STARTED} - STARTED
| | += oejut.ScheduledExecutorScheduler@4a003cbe{STARTED} - STARTED
| += class org.eclipse.jetty.deploy.providers.ContextProvider@53fe15ff[file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/] - STARTED
| +- ju.HashMap@3756766d{size=1}
| | +@ C:\Users\XXXXX\Downloads\jetty\jetty-12\jetty-home-12.0.12\jetty-base\webapps\demoEndpoint = App@72bc6553[ee10,oeje10w.WebAppContext@41330d4f{Restful Web Application,/demoEndpoint,b=file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/,a=AVAILABLE,h=oeje10s.SessionHandler@147e2ae7{STARTED}}{C:\Users\XXXXX\Downloads\jetty\jetty-12\jetty-home-12.0.12\jetty-base\webapps\demoEndpoint},C:\Users\XXXXX\Downloads\jetty\jetty-12\jetty-home-12.0.12\jetty-base\webapps\demoEndpoint]
| += oejur.ResourceFactoryInternals$LifeCycle@449a4f23{STARTED} - STARTED
| | +> newResourceReferences size=0
| +- org.eclipse.jetty.util.resource.ResourceFactory$2@1530c739
| += oeju.Scanner@4d0d9fe7{STARTED} - STARTED
| += oejut.ScheduledExecutorScheduler@c430e6c{STARTED} - STARTED
+= oejur.ResourceFactoryInternals$LifeCycle@8297b3a{STARTED} - STARTED
| +> newResourceReferences size=0
+- org.eclipse.jetty.util.resource.ResourceFactory$2@2362f559
+= HashLoginService@305b7c14[Test Realm] - STARTED
| +- org.eclipse.jetty.security.DefaultIdentityService@6913c1fb
| += PropertyUserStore@7bf3a5d8[users.count=6][cfg=file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/etc/jetty-demo-realm.properties] - STARTED
+= oejs.DefaultSessionIdManager@757277dc{STARTED}[worker=node0] - STARTED
| +? oejs.HouseKeeper@ed7f8b4{STARTED}[interval=600000, ownscheduler=false] - STARTED
+= oejrh.RewriteHandler@78ffe6dc{STARTED} - STARTED
| +- RuleContainer@8317c52[terminating=false]
| | +: HeaderPatternRule@229c6181[terminating=true][pattern=/favicon.ico][header:Cache-Control=Max-Age=3600,public]
| | +: RewritePatternRule@732c9b5c[terminating=false][pattern=/ee10-test/rewrite/][rewrite:/ee10-test/rewrite/info.html]
| | +: RewritePatternRule@38320e34[terminating=false][pattern=/ee10-test/some/old/context][rewrite:/ee10-test/rewritten/newcontext]
| | +: RewritePatternRule@3d6a6bee[terminating=false][pattern=/ee10-test/rewrite/for/][rewrite:/ee10-test/rewritten/]
| | +: RewriteRegexRule@36ddaebf[terminating=false][regex:(.?)/reverse/([^/])/(.)][rewrite:$1/reverse/$3/$2]
| | +: CookiePatternRule@213c3543[terminating=false][pattern=/]@213c3543[set-cookie:visited=yes]
| | +: RedirectPatternRule@9d7ccfe[terminating=true][pattern=/ee10-test/redirect/][redirect:302>/ee10-test/redirected]
| | +: ResponsePatternRule@670ce331[terminating=true][pattern=/400Error][response:400>ResponsePatternRuleDemo]
| | +> ju.ArrayList@e708b34d(size=8)
| | +: HeaderPatternRule@229c6181[terminating=true][pattern=/favicon.ico][header:Cache-Control=Max-Age=3600,public]
| | +: RewritePatternRule@732c9b5c[terminating=false][pattern=/ee10-test/rewrite/][rewrite:/ee10-test/rewrite/info.html]
| | +: RewritePatternRule@38320e34[terminating=false][pattern=/ee10-test/some/old/context][rewrite:/ee10-test/rewritten/newcontext]
| | +: RewritePatternRule@3d6a6bee[terminating=false][pattern=/ee10-test/rewrite/for/][rewrite:/ee10-test/rewritten/]
| | +: RewriteRegexRule@36ddaebf[terminating=false][regex:(.?)/reverse/([^/])/(.)][rewrite:$1/reverse/$3/$2]
| | +: CookiePatternRule@213c3543[terminating=false][pattern=/]@213c3543[set-cookie:visited=yes]
| | +: RedirectPatternRule@9d7ccfe[terminating=true][pattern=/ee10-test/redirect/][redirect:302>/ee10-test/redirected]
| | +: ResponsePatternRule@670ce331[terminating=true][pattern=/400Error][response:400>ResponsePatternRuleDemo]
| += oejsh.ContextHandlerCollection@6743e411{STARTED} - STARTED
| += oeje10w.WebAppContext@41330d4f{Restful Web Application,/demoEndpoint,b=file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/,a=AVAILABLE,h=oeje10s.SessionHandler@147e2ae7{STARTED}}{C:\Users\XXXXX\Downloads\jetty\jetty-12\jetty-home-12.0.12\jetty-base\webapps\demoEndpoint} - STARTED
| +- org.eclipse.jetty.ee10.servlet.ErrorPageErrorHandler@1b66c0fb
| +- org.eclipse.jetty.util.DecoratedObjectFactory[decorators=3]
| | +: org.eclipse.jetty.ee10.plus.webapp.PlusDecorator@54e7df6a
| | +: org.eclipse.jetty.util.DeprecationWarning@4c1f22f3
| | +: org.eclipse.jetty.ee10.annotations.AnnotationDecorator@73194df
| += oeje10s.SessionHandler@147e2ae7{STARTED} - STARTED
| | += oeje10ss.ConstraintSecurityHandler@536dbea0{STARTED} - STARTED
| | | +- knownAuthenticatorFactories size=1
| | | | +> org.eclipse.jetty.security.DefaultAuthenticatorFactory@41f4fe5
| | | += oeje10s.ServletHandler@35b74c5c{STARTED} - STARTED
| | | | +> listeners oeje10s.ServletHandler@35b74c5c{STARTED} size=1
| | | | | +> org.eclipse.jetty.ee10.servlet.listener.IntrospectorCleaner@584f54e6{src=DESCRIPTOR:file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-home/etc/webdefault-ee10.xml} - STARTED
| | | | +> filters oeje10s.ServletHandler@35b74c5c{STARTED} size=1
| | | | | +> org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter==org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter@e077866{inst=true,async=true,src=EMBEDDED:
From what I can see, things look normal from the jetty perspective.
I can see that jetty automatically detected the jersey ServletContainerInitializer
class org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer
:
2024-08-22 10:30:42.178:DEBUG:oejea.AnnotationConfiguration:main: No web.xml ordering, ServletContainerInitializers in random order
2024-08-22 10:30:42.178:DEBUG:oejea.AnnotationConfiguration:main: ServletContainerInitializer: 1 org.eclipse.jetty.ee10.apache.jsp.JettyJasperInitializer from null
2024-08-22 10:30:42.178:DEBUG:oejea.AnnotationConfiguration:main: ServletContainerInitializer: 2 org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer from null
2024-08-22 10:30:42.178:DEBUG:oejea.AnnotationConfiguration:main: ServletContainerInitializer: 3 org.eclipse.jetty.ee10.websocket.server.config.JettyWebSocketServletContainerInitializer from null
2024-08-22 10:30:42.178:DEBUG:oejea.AnnotationConfiguration:main: ServletContainerInitializer: 4 org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer from file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-container-servlet-4.0.0-M1.jar
Jetty detects that the annotation on the jersey
ServletContainerInitializer
class wants to look for several jakarta.ws.rs
annotations and registers handlers for them:
2024-08-22 10:30:42.188:DEBUG:oejea.AnnotationConfiguration:main: HandlesTypes [interface jakarta.ws.rs.Path, interface jakarta.ws.rs.ext.Provider, class jakarta.ws.rs.core.Application, interface jakarta.ws.rs.ApplicationPath] on initializer class org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer
2024-08-22 10:30:42.188:DEBUG:oejea.AnnotationConfiguration:main: Registering annotation handler for jakarta.ws.rs.Path
2024-08-22 10:30:42.188:DEBUG:oejea.AnnotationConfiguration:main: Registering annotation handler for jakarta.ws.rs.ext.Provider
2024-08-22 10:30:42.188:DEBUG:oejea.AnnotationConfiguration:main: Registering annotation handler for jakarta.ws.rs.ApplicationPath
Jetty scans classes in WEB-INF/classes
:
2024-08-22 10:30:42.204:DEBUG:oejea.AnnotationParser:qtp1397616978-28: Parse class from file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/classes/testapis/TestEndpoint.class
2024-08-22 10:30:42.235:DEBUG:oejea.AnnotationParser:qtp1397616978-28: Parse class from file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/classes/testapis/TestServletImpl.class
Jetty detects that the testapis.TestEndpoint
has an annotation that the jersey
ServletContainerInitializer
is interested in:
+= ContainerInitializer{org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer,interested=[org.glassfish.jersey.server.wadl.internal.WadlResource, testapis.TestEndpoint, org.glassfish.jersey.server.ResourceConfig, org.glassfish.jersey.server.ResourceConfig$WrappingResourceConfig, org.glassfish.jersey.server.ResourceConfig$RuntimeConfig],applicable=[],annotated=[]} - STARTED
Jetty runs the jersey
ServletContainerInitializer
, which loads the TestEndpoint
class:
2024-08-22 10:30:42.978:DEBUG:oejuc.AbstractLifeCycle:main: STARTING ContainerInitializer{org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer,interested=[org.glassfish.jersey.server.wadl.internal.WadlResource, testapis.TestEndpoint, org.glassfish.jersey.server.ResourceConfig, org.glassfish.jersey.server.ResourceConfig$WrappingResourceConfig, org.glassfish.jersey.server.ResourceConfig$RuntimeConfig],applicable=[],annotated=[]}
2024-08-22 10:30:42.979:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/server/wadl/internal/WadlResource.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-server-4.0.0-M1.jar!/org/glassfish/jersey/server/wadl/internal/WadlResource.class
2024-08-22 10:30:42.979:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.server.wadl.internal.WadlResource
2024-08-22 10:30:42.980:DEBUG:oejew.WebAppClassLoader:main: getResource testapis/TestEndpoint.class file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/classes/testapis/TestEndpoint.class
2024-08-22 10:30:42.980:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class testapis.TestEndpoint
2024-08-22 10:30:42.981:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/server/ResourceConfig.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-server-4.0.0-M1.jar!/org/glassfish/jersey/server/ResourceConfig.class
2024-08-22 10:30:42.982:DEBUG:oejew.WebAppClassLoader:main: getResource jakarta/ws/rs/core/Configurable.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jakarta.ws.rs-api-4.0.0.jar!/jakarta/ws/rs/core/Configurable.class
2024-08-22 10:30:42.982:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface jakarta.ws.rs.core.Configurable
2024-08-22 10:30:42.982:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/server/ServerConfig.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-server-4.0.0-M1.jar!/org/glassfish/jersey/server/ServerConfig.class
2024-08-22 10:30:42.983:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/ExtendedConfig.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/ExtendedConfig.class
2024-08-22 10:30:42.983:DEBUG:oejew.WebAppClassLoader:main: getResource jakarta/ws/rs/core/Configuration.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jakarta.ws.rs-api-4.0.0.jar!/jakarta/ws/rs/core/Configuration.class
2024-08-22 10:30:42.984:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface jakarta.ws.rs.core.Configuration
2024-08-22 10:30:42.984:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.ExtendedConfig
2024-08-22 10:30:42.984:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.server.ServerConfig
2024-08-22 10:30:42.990:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.server.ResourceConfig
2024-08-22 10:30:42.990:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/server/ResourceConfig$WrappingResourceConfig.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-server-4.0.0-M1.jar!/org/glassfish/jersey/server/ResourceConfig$WrappingResourceConfig.class
2024-08-22 10:30:42.991:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.server.ResourceConfig$WrappingResourceConfig
2024-08-22 10:30:42.992:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/server/ResourceConfig$RuntimeConfig.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-server-4.0.0-M1.jar!/org/glassfish/jersey/server/ResourceConfig$RuntimeConfig.class
2024-08-22 10:30:42.993:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.server.ResourceConfig$RuntimeConfig
2024-08-22 10:30:42.994:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/servlet/internal/ServletContainerProviderFactory.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-container-servlet-core-4.0.0-M1.jar!/org/glassfish/jersey/servlet/internal/ServletContainerProviderFactory.class
2024-08-22 10:30:42.994:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.servlet.internal.ServletContainerProviderFactory
2024-08-22 10:30:42.994:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/servlet/internal/spi/ServletContainerProvider.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-container-servlet-core-4.0.0-M1.jar!/org/glassfish/jersey/servlet/internal/spi/ServletContainerProvider.class
2024-08-22 10:30:42.994:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.servlet.internal.spi.ServletContainerProvider
2024-08-22 10:30:42.995:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/ServiceFinder.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/ServiceFinder.class
2024-08-22 10:30:42.997:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.ServiceFinder
2024-08-22 10:30:42.997:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/ServiceConfigurationError.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/ServiceConfigurationError.class
2024-08-22 10:30:42.998:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.ServiceConfigurationError
2024-08-22 10:30:42.998:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/ReflectionHelper.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/ReflectionHelper.class
2024-08-22 10:30:43.001:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.ReflectionHelper
2024-08-22 10:30:43.002:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/TypeVisitor.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/TypeVisitor.class
2024-08-22 10:30:43.002:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.TypeVisitor
2024-08-22 10:30:43.002:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/ReflectionHelper$11.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/ReflectionHelper$11.class
2024-08-22 10:30:43.002:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.ReflectionHelper$11
2024-08-22 10:30:43.005:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/ReflectionHelper$1.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/ReflectionHelper$1.class
2024-08-22 10:30:43.005:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.ReflectionHelper$1
2024-08-22 10:30:43.006:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/ReflectionHelper$2.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/ReflectionHelper$2.class
2024-08-22 10:30:43.007:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.ReflectionHelper$2
2024-08-22 10:30:43.008:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/collection/Value.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/collection/Value.class
2024-08-22 10:30:43.009:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.internal.util.collection.Value
2024-08-22 10:30:43.010:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/collection/Values.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/collection/Values.class
2024-08-22 10:30:43.010:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.Values
2024-08-22 10:30:43.011:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/collection/LazyValue.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/collection/LazyValue.class
2024-08-22 10:30:43.011:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.internal.util.collection.LazyValue
2024-08-22 10:30:43.011:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/collection/LazyUnsafeValue.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/collection/LazyUnsafeValue.class
2024-08-22 10:30:43.011:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/collection/UnsafeValue.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/collection/UnsafeValue.class
2024-08-22 10:30:43.011:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.internal.util.collection.UnsafeValue
2024-08-22 10:30:43.012:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.internal.util.collection.LazyUnsafeValue
2024-08-22 10:30:43.012:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/collection/Values$1.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/collection/Values$1.class
2024-08-22 10:30:43.013:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.Values$1
2024-08-22 10:30:43.013:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/collection/Values$2.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/collection/Values$2.class
2024-08-22 10:30:43.013:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.Values$2
2024-08-22 10:30:43.014:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/collection/Values$LazyValueImpl.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/collection/Values$LazyValueImpl.class
2024-08-22 10:30:43.015:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.Values$LazyValueImpl
2024-08-22 10:30:43.016:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/util/ReflectionHelper$8.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/util/ReflectionHelper$8.class
2024-08-22 10:30:43.016:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.util.ReflectionHelper$8
2024-08-22 10:30:43.017:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/ServiceFinder$ServiceIteratorProvider.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/ServiceFinder$ServiceIteratorProvider.class
2024-08-22 10:30:43.017:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.ServiceFinder$ServiceIteratorProvider
2024-08-22 10:30:43.017:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/ServiceFinder$DefaultServiceIteratorProvider.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/ServiceFinder$DefaultServiceIteratorProvider.class
2024-08-22 10:30:43.018:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.ServiceFinder$DefaultServiceIteratorProvider
2024-08-22 10:30:43.018:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/ServiceFinder$LazyObjectIterator.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/ServiceFinder$LazyObjectIterator.class
2024-08-22 10:30:43.019:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/internal/ServiceFinder$AbstractLazyIterator.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-common-4.0.0-M1.jar!/org/glassfish/jersey/internal/ServiceFinder$AbstractLazyIterator.class
2024-08-22 10:30:43.020:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.ServiceFinder$AbstractLazyIterator
2024-08-22 10:30:43.020:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.internal.ServiceFinder$LazyObjectIterator
2024-08-22 10:30:43.023:DEBUG:oejew.WebAppClassLoader:main: getResources META-INF/services/org.glassfish.jersey.servlet.internal.spi.ServletContainerProvider []
2024-08-22 10:30:43.023:DEBUG:oejew.WebAppClassLoader:main: getResources META-INF/services/org.glassfish.jersey.servlet.internal.spi.ServletContainerProvider []
2024-08-22 10:30:43.030:DEBUG:oejew.WebAppClassLoader:main: getResource jdk/proxy4/$Proxy6.class null
2024-08-22 10:30:43.033:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/server/model/ExtendedResource.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-server-4.0.0-M1.jar!/org/glassfish/jersey/server/model/ExtendedResource.class
2024-08-22 10:30:43.033:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.server.model.ExtendedResource
2024-08-22 10:30:43.034:DEBUG:oejew.WebAppClassLoader:main: getResource jdk/proxy4/$Proxy7.class null
2024-08-22 10:30:43.035:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/servlet/ServletContainer.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-container-servlet-core-4.0.0-M1.jar!/org/glassfish/jersey/servlet/ServletContainer.class
2024-08-22 10:30:43.035:DEBUG:oejew.WebAppClassLoader:main: getResource org/glassfish/jersey/server/spi/Container.class jar:file:/C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/lib/jersey-server-4.0.0-M1.jar!/org/glassfish/jersey/server/spi/Container.class
2024-08-22 10:30:43.035:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded interface org.glassfish.jersey.server.spi.Container
2024-08-22 10:30:43.036:DEBUG:oejew.WebAppClassLoader:main: WAP webapp loaded class org.glassfish.jersey.servlet.ServletContainer
2024-08-22 10:30:43.037:DEBUG:oejes.ServletContainerInitializerHolder:main: ServletContainerInitializer org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer called in 43ms
2024-08-22 10:30:43.037:DEBUG:oejuc.AbstractLifeCycle:main: STARTED @3156ms ContainerInitializer{org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer,interested=[org.glassfish.jersey.server.wadl.internal.WadlResource, testapis.TestEndpoint, org.glassfish.jersey.server.ResourceConfig, org.glassfish.jersey.server.ResourceConfig$WrappingResourceConfig, org.glassfish.jersey.server.ResourceConfig$RuntimeConfig],applicable=[],annotated=[]}
2024-08-22 10:30:43.037:DEBUG:oejuc.AbstractLifeCycle:main: STARTED @3156ms oeje10s.ServletContextHandler$ServletContainerInitializerStarter@758705fa{STARTED}
We see the webapp context is started:
2024-08-22 10:30:43.939:INFO :oejes.ServletContextHandler:main: Started oeje10w.WebAppContext@41330d4f{Restful Web Application,/demoEndpoint,b=file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/,a=AVAILABLE,h=oeje10s.SessionHandler@147e2ae7{STARTED}}{C:\Users\XXXXX\Downloads\jetty\jetty-12\jetty-home-12.0.12\jetty-base\webapps\demoEndpoint}
From the dump:
| += oeje10w.WebAppContext@41330d4f{Restful Web Application,/demoEndpoint,b=file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/,a=AVAILABLE,h=oeje10s.SessionHandler@147e2ae7{STARTED}}{C:\Users\XXXXX\Downloads\jetty\jetty-12\jetty-home-12.0.12\jetty-base\webapps\demoEndpoint} - STARTED
| | | | +> servlets oeje10s.ServletHandler@35b74c5c{STARTED} size=3
| | | | | +> default==org.eclipse.jetty.ee10.servlet.DefaultServlet@5c13d641{jsp=null,order=0,inst=true,async=false,src=DESCRIPTOR:file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-home/etc/webdefault-ee10.xml,STARTED} - STARTED
| | | | | | +> NotAsync:org.eclipse.jetty.ee10.servlet.DefaultServlet@514cd540
| | | | | | +> initParams size=9
| | | | | | +> dirAllowed=true
| | | | | | +> maxCacheSize=256000000
| | | | | | +> maxCachedFileSize=200000000
| | | | | | +> welcomeServlets=false
| | | | | | +> useFileMappedBuffer=true
| | | | | | +> acceptRanges=true
| | | | | | +> etags=false
| | | | | | +> maxCachedFiles=2048
| | | | | | +> redirectWelcome=false
| | | | | +> jsp==org.eclipse.jetty.ee10.jsp.JettyJspServlet@19c47{jsp=null,order=0,inst=true,async=false,src=DESCRIPTOR:file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-home/etc/webdefault-ee10.xml,STARTED} - STARTED
| | | | | | +> NotAsync:org.eclipse.jetty.ee10.jsp.JettyJspServlet@11d4dbd6
| | | | | | +> initParams size=4
| | | | | | +> compilerSourceVM=1.8
| | | | | | +> compilerTargetVM=1.8
| | | | | | +> scratchdir=C:\Users\XXXXX\AppData\Local\Temp\jetty-0_0_0_0-8080-demoEndpoint-_demoEndpoint-any-18293878976238837160\jsp
| | | | | | +> xpoweredBy=false
| | | | | +> demoEndpointServlet==org.glassfish.jersey.servlet.ServletContainer@3b3ba28d{jsp=null,order=1,inst=true,async=false,src=DESCRIPTOR:file:///C:/Users/XXXXX/Downloads/jetty/jetty-12/jetty-home-12.0.12/jetty-base/webapps/demoEndpoint/WEB-INF/web.xml,STARTED} - STARTED
| | | | | +> NotAsync:org.glassfish.jersey.servlet.ServletContainer@6f4ade6e
| | | | | +> initParams size=2
| | | | | +> jersey.config.server.provider.classnames=org.glassfish.jersey.jackson.JacksonFeature
| | | | | +> jersey.config.server.provider.packages=testapis
| | | | +> servletMappings oeje10s.ServletHandler@35b74c5c{STARTED} size=2
| | | | | +> [*.jsp, *.jspf, *.jspx, *.xsp, *.JSP, *.JSPF, *.JSPX, *.XSP]=>jsp
| | | | | +> [/]=>demoEndpointServlet
At this point I think the problem lies in your jersey
setup. . I would try re-reading the jersey
manual: https://eclipse-ee4j.github.io/jersey.github.io/documentation/latest31x/deployment.html#deployment.servlet making sure you've followed all the right steps for a servlet api 5.0 and above container (as jetty-12 ee10 is servlet 6.0). Maybe you need some jersey
specific jetty
jars? You might then have to debug into the running container to see what is happening.
Though the custom testendpoint being loaded by ResourceMethodInvoker,
Getting below endpoints are always empty here, due to that 404 not found error occurs
I am using jetty 12& below jars
please let me know if any configuration/jar missing & pls confirm the jars compatibility with jetty 12
@eharish394 I'm not an expert on jersey
, and from the jetty
perspective things look fine. I think the time has come to ask the jersey
community for help.
BTW, I downloaded the standard jersey helloworld-webapp
example, and deployed it to jetty-12.0.12, and configured java-util logging
at the highest level for both jetty
and jersey
. It looks like jetty
is correctly handing the request to the registered jersey
servlet, which then throws the 404
exception. Here's the relevant parts of the log with stacktrace:
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.servlet.ServletHandler getFilterChain
FINE: oeje10s.ServletHandler@11bd0f3b{STARTED} cached filter chain for REQUEST: ChainEnd@51bdd165(org.glassfish.jersey.examples.helloworld.webapp.MyApplication==org.glassfish.jersey.servlet.ServletContainer@e47734a6{jsp=null,order=1,inst=true,async=true,src=JAKARTA_API:<null>,STARTED})
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet handle
FINE: chain=ChainEnd@51bdd165(org.glassfish.jersey.examples.helloworld.webapp.MyApplication==org.glassfish.jersey.servlet.ServletContainer@e47734a6{jsp=null,order=1,inst=true,async=true,src=JAKARTA_API:<null>,STARTED})
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.uri.JerseyQueryParamStyle
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.uri.internal.UriParser
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.guava.InetAddresses
Aug 26, 2024 10:59:56 AM org.glassfish.jersey.internal.util.ExtendedLogger debugLog
FINEST: [DEBUG] ServletContainer.service(...) started on thread qtp1782704802-35
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.ContainerUtils
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.servlet.internal.ResponseWriter
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.servlet.internal.ResponseWriter$NonCloseableOutputStreamWrapper
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.servlet.async.AsyncContextDelegateProviderImpl$ExtensionImpl
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.JerseyRequestTimeoutHandler
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.message.internal.InboundMessageContext$1
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.servlet.WebComponent$6
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.servlet.ServletPropertiesDelegate
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.RuntimeDelegateDecorator
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.RuntimeDelegateDecorator$ConfigurableRuntimeDelegate
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader getResources
FINE: getResources META-INF/services/org.glassfish.jersey.spi.HeaderDelegateProvider []
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader getResources
FINE: getResources META-INF/services/org.glassfish.jersey.spi.HeaderDelegateProvider []
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.GuardianStringKeyMultivaluedMap
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.message.internal.HeaderUtils
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.StringKeyIgnoreCaseMultivaluedMap
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.KeyComparatorLinkedHashMap
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.StringIgnoreCaseKeyComparator
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.KeyComparatorLinkedHashMap$Entry
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.message.internal.InboundMessageContext$EntityContent
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.message.internal.TracingAwarePropertiesDelegate
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface org.glassfish.jersey.server.internal.routing.RoutingContext
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.routing.UriRoutingContext
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.ImmutableMultivaluedMap
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.servlet.WebComponent$5
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.message.internal.InboundMessageContext$2
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.ServerTraceEvent
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.monitoring.EmptyRequestEventBuilder
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface org.glassfish.jersey.server.internal.process.RespondingContext
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.process.RequestProcessingContext
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.process.DefaultRespondingContext
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.process.DefaultCloseableService
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.Refs
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.Refs$ThreadSafeRefImpl
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.ServerRuntime$Responder
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface org.glassfish.jersey.message.internal.OutboundMessageContext$StreamProvider
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface jakarta.ws.rs.container.ConnectionCallback
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface jakarta.ws.rs.container.CompletionCallback
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.ServerRuntime$CompletionCallbackRunner
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface org.glassfish.jersey.internal.util.Closure
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.ServerRuntime$ConnectionCallbackRunner
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.inject.hk2.Hk2RequestScope$Instance
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.LazyUid
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.ServerRuntime$AsyncResponderHolder
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.ServerRuntime$1
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class jakarta.ws.rs.NotFoundException
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface jakarta.ws.rs.core.Response$StatusType
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.message.internal.OutboundJaxrsResponse
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.Refs$DefaultRefImpl
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.process.internal.Stage$Continuation
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.inject.ForeignDescriptorImpl
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.ContainerFilteringStage$ResponseFilterStage
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface jakarta.ws.rs.container.ContainerResponseContext
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.monitoring.RequestEvent$Type
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.routing.SingleMatchResult
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.routing.Router$Continuation
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.internal.routing.RoutingStage$RoutingResult
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded interface org.glassfish.jersey.process.internal.Inflecting
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class jakarta.ws.rs.core.Response$Status
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class jakarta.ws.rs.core.Response$Status$Family
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.message.internal.OutboundMessageContext
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.message.internal.CommittingOutputStream
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.KeyComparatorHashMap$EntrySet
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.KeyComparatorLinkedHashMap$LinkedHashIterator
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.internal.util.collection.KeyComparatorLinkedHashMap$EntryIterator
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.monitoring.RequestEvent$ExceptionCause
Aug 26, 2024 10:59:56 AM org.glassfish.jersey.server.ServerRuntime$Responder mapException
FINER: Starting mapping of the exception.
jakarta.ws.rs.NotFoundException: HTTP 404 Not Found
at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:260)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:266)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:242)
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:704)
at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:420)
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:372)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:358)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:312)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:736)
at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1614)
at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1547)
at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:824)
at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:436)
at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:464)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:703)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:597)
at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:151)
at org.eclipse.jetty.server.Server.handle(Server.java:181)
at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:648)
at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:403)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
at java.base/java.lang.Thread.run(Thread.java:1570)
Aug 26, 2024 10:59:56 AM org.eclipse.jetty.ee10.webapp.WebAppClassLoader loadAsResource
FINE: WAP webapp loaded class org.glassfish.jersey.server.ServerRuntime$ThrowableWrap
Aug 26, 2024 10:59:56 AM org.glassfish.jersey.server.ServerRuntime$Responder mapException
FINE: WebApplicationException (WAE) with no entity thrown and no ExceptionMappers have been found for this WAE. Response with status 404 is directly generated from the WAE.
jakarta.ws.rs.NotFoundException: HTTP 404 Not Found
at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:260)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:266)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:242)
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:704)
at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:420)
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:372)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:358)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:312)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:736)
at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1614)
at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1547)
at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:824)
at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:436)
at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:464)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:703)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:597)
at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:151)
at org.eclipse.jetty.server.Server.handle(Server.java:181)
at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:648)
at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:403)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
at java.base/java.lang.Thread.run(Thread.java:1570)
I'm attaching the whole jetty setup including the (modified) helloworld-webapp
. Just install jetty-home-12.0.12
alongside it. Then you can run it from jetty-base
with java -jar ../jetty-home-12.0.12/start.jar -Djava.util.logging.config.file=./resources/jul.properties -Djersey.config.server.tracing.type=ALL
helloworld-with-jetty.zip
I am able to bring the endpoints by following above steps, but I want to try by not creating any new classes with annotated with jakarta.ws.rs.ApplicationPath; jakarta.ws.rs.core.Application, not overrding getClasses method, And I cannot comment existing servlet mappings in web.xml , can you pls guide me by not doing any of the above two changes, I want to access my apis
web.xml :
jetty.xml.txt jetty.xml file & libs jetty_libs: |asm-9.7.jar| |jakarta.annotation-api-3.0.0.jar| |jakarta.servlet-api-6.0.0.jar| |jakarta.ws.rs-api-4.0.0.jar| |jetty-deploy-12.0.12.jar| |jetty-ee10-annotations-12.0.12.jar| |jetty-ee10-plus-12.0.12.jar| |jetty-ee10-servlet-12.0.12.jar| |jetty-ee10-webapp-12.0.12.jar| |jetty-ee-12.0.12.jar| |jetty-http-12.0.12.jar| |jetty-io-12.0.12.jar| |jetty-jndi-12.0.12.jar| |jetty-plus-12.0.12.jar| |jetty-security-12.0.12.jar|
webapp libs ** |hk2-api-4.0.0-M2.jar| |hk2-locator-4.0.0-M2.jar| |hk2-utils-4.0.0-M2.jar| |jackson-annotations-2.17.0.jar| |jackson-core-2.17.0.jar| |jackson-databind-2.17.0.jar| |jakarta.annotation-api-3.0.0.jar| |jakarta.inject-api-2.0.1.jar| |jakarta.validation-api-3.1.0.jar| |jakarta.ws.rs-api-4.0.0.jar| |jersey-client-4.0.0-M1.jar| |jersey-common-4.0.0-M1.jar| |jersey-container-servlet-4.0.0-M1.jar| |jersey-container-servlet-core-4.0.0-M1.jar| |jersey-hk2-4.0.0-M1.jar| |jersey-server-4.0.0-M1.jar|
@eharish394 honestly I think your question is still better off being asked in the jersey
forum. As far as I can tell, you're trying to run an unmodified servlet 3 webapp that used a version of jersey
that did not support annotations in a servlet 6 container, with an updated version of jersey
that does support annotations. So I think your question is better asked on the jersey
lists, as they would know better what the differences in their library is between those versions.
That said, if you're trying to disable jersey
from using its ServletContainerInitializer
annotation and just go with a hard-coded definition in web.xml
, then you can tell jetty to exclude it - see https://jetty.org/docs/jetty/12/operations-guide/annotations/index.html#exclusions
But really, please pose this question to the jersey
people.
jetty_files.zip
Jetty version(s)
Jetty Environment
Java version/vendor
(use: java -version)
openjdk version "17.0.8.1" 2023-08-24OS type/version : Windows 11
Description
Hi, I was running jetty server with xml configuration version 8.1.16.v20140903, Here I am loading connectors, sslfactory, handlers, deploymentmgr beans through the xml file to start the sever, I have below webserver setup C:\Jetty\etc\Jetty.xml-> all beans C:\Jetty\etc\webdefault.xml-> default web.xml file C:\Jetty\Webapps\api\META-INF\Context.xml->(which has context path etc info.. ) C:\Jetty\Webapps\api\WEB-INF\web.xml(which has servlet init params, mapping etc info) C:\Jetty\Webapps\api\WEB-INF\lib(which has supporting libraries i.e jackson, jersey-common,jettison) C:\Jetty\Webapps\api\WEB-INF\classes(which has api end point class files UtilityEndPoint.class etc.)
deploying endpoint classes in web-inf>class dir, making endpoints are accessible here without adding the classendpoint context info anywhere.
Currently I am upgrading jetty to 12.0.12 , and I want to start the jetty server with same the xml file based approach, I am able to bring the server up, I see the endpoint classes are getting loaded in ResourceConfig, but they are rendering 404 when accessed, If I add custom servletclass(doGet overloaded) in web.xml & then I can get 200OK, but I want to do only with the existing endpoint(worked with 8.1.16 version) so that backward compatibility is remain supported
without disturbing the current api end point classes, how can I add api contexts. and how to initialize "org.eclipse.jetty.ee10.webapp.WebAppContext" since I am facing java.lang.IllegalStateException: No ContextHandler classname for App@7fb95505
Please let me know if I am missing anything here
I am using jetty-ee10-servlet,jetty-ee10-webapp, jakarta 3.x.x, jersey 4.0.0-M1 libs
How to reproduce?