Hello,
I am trying to un-deploy a servlet dynamically and it throws an exception:
javax.servlet.UnavailableException: Servlet not initialized
at
org.eclipse.jetty.servlet.ServletHolder.ensureInstance(ServletHolder.java:761)
at org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:748)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:497)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
at
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:745)
I am using the following code to undeploy:
ServletHandler handler = servletContext.getServletHandler();
//Get all existing servlets.
List<ServletHolder> currentHolders =
Arrays.asList(handler.getServlets());
List<ServletHolder> newHolders = new ArrayList<ServletHolder>();
PathMap.MappedEntry<ServletHolder> entry =
handler.getHolderEntry(servletEndPoint.getContextPath());
ServletHolder obsoleteHolder = entry.getValue();
for(ServletHolder holder : currentHolders)
{
if(!holder.equals(obsoleteHolder))
{
newHolders.add(holder);
}
}
handler.setServlets(newHolders.toArray(new ServletHolder[0]));
Could someone confirm what is the way to undeploy dynamically? I could
deploy dynamically with no issues.
_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users