Error running dba in Tomcat 9.0 with BaseX v. 9.5 and above
Wednesday, 25 August 2021 · 4 messages · last reply 4 Oct 2021
KG
Kim Galeazzi25 Aug 2021 22:25 #
Launching the dba application in BaseX 9.5 and above deployed on Tomcat 9.0 throws an error:
Exception
javax.servlet.ServletException: Servlet execution threw an exception org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) Root Cause
java.lang.NoClassDefFoundError: org/eclipse/jetty/websocket/api/WebSocketAdapter java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:760) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2478) org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:870) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1371) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215) org.basex.query.func.session.SessionFn.session(SessionFn.java:31) org.basex.query.func.session.SessionGet.value(SessionGet.java:17) org.basex.query.expr.ParseExpr.iter(ParseExpr.java:46) org.basex.query.expr.ParseExpr.ebv(ParseExpr.java:71) org.basex.query.expr.If.expr(If.java:181)
org.basex.query.expr.If.iter(If.java:161)
org.basex.query.scope.MainModule.iter(MainModule.java:97) org.basex.query.QueryContext.iter(QueryContext.java:326) org.basex.http.restxq.RestXqResponse.serialize(RestXqResponse.java:84) org.basex.http.web.WebResponse.create(WebResponse.java:66) org.basex.http.restxq.RestXqServlet.run(RestXqServlet.java:69) org.basex.http.BaseXServlet.service(BaseXServlet.java:65) javax.servlet.http.HttpServlet.service(HttpServlet.java:764) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) Root Cause
java.lang.ClassNotFoundException: org.eclipse.jetty.websocket.api.WebSocketAdapter org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1407) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215) java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:760) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2478) org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:870) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1371) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215) org.basex.query.func.session.SessionFn.session(SessionFn.java:31) org.basex.query.func.session.SessionGet.value(SessionGet.java:17) org.basex.query.expr.ParseExpr.iter(ParseExpr.java:46) org.basex.query.expr.ParseExpr.ebv(ParseExpr.java:71) org.basex.query.expr.If.expr(If.java:181)
org.basex.query.expr.If.iter(If.java:161)
org.basex.query.scope.MainModule.iter(MainModule.java:97) org.basex.query.QueryContext.iter(QueryContext.java:326) org.basex.http.restxq.RestXqResponse.serialize(RestXqResponse.java:84) org.basex.http.web.WebResponse.create(WebResponse.java:66) org.basex.http.restxq.RestXqServlet.run(RestXqServlet.java:69) org.basex.http.BaseXServlet.service(BaseXServlet.java:65) javax.servlet.http.HttpServlet.service(HttpServlet.java:764) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
I tried adding the Ecplise websocket API jar to the lib folder without success. Any ideas?
We rely on the RESTXQ for our implementations and find the dba web application very convenient for accessing the logs and managing the database.
Thank you.
[cid:image001.jpg at 01D799B4.AF02AC70]<http://www.inspirage.com/> Kim Galeazzi | Manager, Solution Architecture, Oracle/Agile PLM Consulting Office: 408-680-8837<tel:%28408%29%20680-8837> | Mobile: 408-466-2121<tel:%28408%29%20466-2121> | Campbell, CA This email communication is considered business confidential and intended for the original recipient of this email only.
CG
Christian Grün26 Aug 2021 09:53 #
Hi Kim,
Thanks for the observation.
As BaseX WebSocket support is tightly coupled with Jetty, newer WAR files cannot be deployed with other web servers anymore (namely, Tomcat, Jboss, possibly others). I’ve opened an issue to get this fixed in a future release [1].
Best,
Christian
[1] https://github.com/BaseXdb/basex/issues/2037
Quoted text · Kim Galeazzi · 156 lines
On Wed, Aug 25, 2021 at 10:25 PM Kim Galeazzi <kim.galeazzi at inspirage.com> wrote: > Launching the dba application in BaseX 9.5 and above deployed on Tomcat > 9.0 throws an error: > > > > *Exception* > > javax.servlet.ServletException: Servlet execution threw an exception > > > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) > > *Root Cause* > > java.lang.NoClassDefFoundError: > org/eclipse/jetty/websocket/api/WebSocketAdapter > > java.lang.ClassLoader.defineClass1(Native Method) > > java.lang.ClassLoader.defineClass(ClassLoader.java:760) > > > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) > > > org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2478) > > > org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:870) > > > org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1371) > > > org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215) > > org.basex.query.func.session.SessionFn.session(SessionFn.java:31) > > org.basex.query.func.session.SessionGet.value(SessionGet.java:17) > > org.basex.query.expr.ParseExpr.iter(ParseExpr.java:46) > > org.basex.query.expr.ParseExpr.ebv(ParseExpr.java:71) > > org.basex.query.expr.If.expr(If.java:181) > > org.basex.query.expr.If.iter(If.java:161) > > org.basex.query.scope.MainModule.iter(MainModule.java:97) > > org.basex.query.QueryContext.iter(QueryContext.java:326) > > > org.basex.http.restxq.RestXqResponse.serialize(RestXqResponse.java:84) > > org.basex.http.web.WebResponse.create(WebResponse.java:66) > > org.basex.http.restxq.RestXqServlet.run(RestXqServlet.java:69) > > org.basex.http.BaseXServlet.service(BaseXServlet.java:65) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:764) > > > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) > > *Root Cause* > > java.lang.ClassNotFoundException: > org.eclipse.jetty.websocket.api.WebSocketAdapter > > > org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1407) > > > org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215) > > java.lang.ClassLoader.defineClass1(Native Method) > > java.lang.ClassLoader.defineClass(ClassLoader.java:760) > > > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) > > > org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2478) > > > org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:870) > > > org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1371) > > > org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215) > > org.basex.query.func.session.SessionFn.session(SessionFn.java:31) > > org.basex.query.func.session.SessionGet.value(SessionGet.java:17) > > org.basex.query.expr.ParseExpr.iter(ParseExpr.java:46) > > org.basex.query.expr.ParseExpr.ebv(ParseExpr.java:71) > > org.basex.query.expr.If.expr(If.java:181) > > org.basex.query.expr.If.iter(If.java:161) > > org.basex.query.scope.MainModule.iter(MainModule.java:97) > > org.basex.query.QueryContext.iter(QueryContext.java:326) > > > org.basex.http.restxq.RestXqResponse.serialize(RestXqResponse.java:84) > > org.basex.http.web.WebResponse.create(WebResponse.java:66) > > org.basex.http.restxq.RestXqServlet.run(RestXqServlet.java:69) > > org.basex.http.BaseXServlet.service(BaseXServlet.java:65) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:764) > > > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) > > > > I tried adding the Ecplise websocket API jar to the lib folder without > success. Any ideas? > > > > We rely on the RESTXQ for our implementations and find the dba web > application very convenient for accessing the logs and managing the > database. > > > > Thank you. > > <http://www.inspirage.com/> > > *Kim Galeazzi |* Manager, Solution Architecture, Oracle/Agile PLM > Consulting > > Office: 408-680-8837 <%28408%29%20680-8837> | Mobile: 408-466-2121 > <%28408%29%20466-2121> | Campbell, CA > > *This email communication is considered business confidential and intended > for the original recipient of this email only.* > > >
CG
Hi Kim,
The latest snapshot of BaseX should be deployable on Tomcat again [1]; could you give it a shot?
Best,
Christian
[1] https://files.basex.org/releases/latest/
Quoted text · Kim Galeazzi · 156 lines
On Wed, Aug 25, 2021 at 10:25 PM Kim Galeazzi <kim.galeazzi at inspirage.com> wrote: > Launching the dba application in BaseX 9.5 and above deployed on Tomcat > 9.0 throws an error: > > > > *Exception* > > javax.servlet.ServletException: Servlet execution threw an exception > > > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) > > *Root Cause* > > java.lang.NoClassDefFoundError: > org/eclipse/jetty/websocket/api/WebSocketAdapter > > java.lang.ClassLoader.defineClass1(Native Method) > > java.lang.ClassLoader.defineClass(ClassLoader.java:760) > > > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) > > > org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2478) > > > org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:870) > > > org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1371) > > > org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215) > > org.basex.query.func.session.SessionFn.session(SessionFn.java:31) > > org.basex.query.func.session.SessionGet.value(SessionGet.java:17) > > org.basex.query.expr.ParseExpr.iter(ParseExpr.java:46) > > org.basex.query.expr.ParseExpr.ebv(ParseExpr.java:71) > > org.basex.query.expr.If.expr(If.java:181) > > org.basex.query.expr.If.iter(If.java:161) > > org.basex.query.scope.MainModule.iter(MainModule.java:97) > > org.basex.query.QueryContext.iter(QueryContext.java:326) > > > org.basex.http.restxq.RestXqResponse.serialize(RestXqResponse.java:84) > > org.basex.http.web.WebResponse.create(WebResponse.java:66) > > org.basex.http.restxq.RestXqServlet.run(RestXqServlet.java:69) > > org.basex.http.BaseXServlet.service(BaseXServlet.java:65) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:764) > > > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) > > *Root Cause* > > java.lang.ClassNotFoundException: > org.eclipse.jetty.websocket.api.WebSocketAdapter > > > org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1407) > > > org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215) > > java.lang.ClassLoader.defineClass1(Native Method) > > java.lang.ClassLoader.defineClass(ClassLoader.java:760) > > > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) > > > org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2478) > > > org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:870) > > > org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1371) > > > org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215) > > org.basex.query.func.session.SessionFn.session(SessionFn.java:31) > > org.basex.query.func.session.SessionGet.value(SessionGet.java:17) > > org.basex.query.expr.ParseExpr.iter(ParseExpr.java:46) > > org.basex.query.expr.ParseExpr.ebv(ParseExpr.java:71) > > org.basex.query.expr.If.expr(If.java:181) > > org.basex.query.expr.If.iter(If.java:161) > > org.basex.query.scope.MainModule.iter(MainModule.java:97) > > org.basex.query.QueryContext.iter(QueryContext.java:326) > > > org.basex.http.restxq.RestXqResponse.serialize(RestXqResponse.java:84) > > org.basex.http.web.WebResponse.create(WebResponse.java:66) > > org.basex.http.restxq.RestXqServlet.run(RestXqServlet.java:69) > > org.basex.http.BaseXServlet.service(BaseXServlet.java:65) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:764) > > > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) > > > > I tried adding the Ecplise websocket API jar to the lib folder without > success. Any ideas? > > > > We rely on the RESTXQ for our implementations and find the dba web > application very convenient for accessing the logs and managing the > database. > > > > Thank you. > > <http://www.inspirage.com/> > > *Kim Galeazzi |* Manager, Solution Architecture, Oracle/Agile PLM > Consulting > > Office: 408-680-8837 <%28408%29%20680-8837> | Mobile: 408-466-2121 > <%28408%29%20466-2121> | Campbell, CA > > *This email communication is considered business confidential and intended > for the original recipient of this email only.* > > >
KG
Kim Galeazzi4 Oct 2021 16:38 #
Hi Christian,
This 9.6.3 beta release deployed successfully in Tomcat.
Thank you for the quick turnaround.
Kim
Quoted text · Christian Grün · 70 lines
From: Christian Grün <christian.gruen at gmail.com> Sent: Tuesday, September 28, 2021 4:41 AM To: Kim Galeazzi <kim.galeazzi at inspirage.com> Cc: basex-talk at mailman.uni-konstanz.de Subject: Re: [basex-talk] Error running dba in Tomcat 9.0 with BaseX v. 9.5 and above Hi Kim, The latest snapshot of BaseX should be deployable on Tomcat again [1]; could you give it a shot? Best, Christian [1] https://files.basex.org/releases/latest/ On Wed, Aug 25, 2021 at 10:25 PM Kim Galeazzi <kim.galeazzi at inspirage.com<mailto:kim.galeazzi at inspirage.com>> wrote: Launching the dba application in BaseX 9.5 and above deployed on Tomcat 9.0 throws an error: Exception javax.servlet.ServletException: Servlet execution threw an exception org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) Root Cause java.lang.NoClassDefFoundError: org/eclipse/jetty/websocket/api/WebSocketAdapter java.lang.ClassLoader.defineClass1(Native Method) java.lang.ClassLoader.defineClass(ClassLoader.java:760) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2478) org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:870) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1371) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215) org.basex.query.func.session.SessionFn.session(SessionFn.java:31) org.basex.query.func.session.SessionGet.value(SessionGet.java:17) org.basex.query.expr.ParseExpr.iter(ParseExpr.java:46) org.basex.query.expr.ParseExpr.ebv(ParseExpr.java:71) org.basex.query.expr.If.expr(If.java:181) org.basex.query.expr.If.iter(If.java:161) org.basex.query.scope.MainModule.iter(MainModule.java:97) org.basex.query.QueryContext.iter(QueryContext.java:326) org.basex.http.restxq.RestXqResponse.serialize(RestXqResponse.java:84) org.basex.http.web.WebResponse.create(WebResponse.java:66) org.basex.http.restxq.RestXqServlet.run(RestXqServlet.java:69) org.basex.http.BaseXServlet.service(BaseXServlet.java:65) javax.servlet.http.HttpServlet.service(HttpServlet.java:764) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) Root Cause java.lang.ClassNotFoundException: org.eclipse.jetty.websocket.api.WebSocketAdapter org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1407) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215) java.lang.ClassLoader.defineClass1(Native Method) java.lang.ClassLoader.defineClass(ClassLoader.java:760) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2478) org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:870) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1371) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215) org.basex.query.func.session.SessionFn.session(SessionFn.java:31) org.basex.query.func.session.SessionGet.value(SessionGet.java:17) org.basex.query.expr.ParseExpr.iter(ParseExpr.java:46) org.basex.query.expr.ParseExpr.ebv(ParseExpr.java:71) org.basex.query.expr.If.expr(If.java:181) org.basex.query.expr.If.iter(If.java:161) org.basex.query.scope.MainModule.iter(MainModule.java:97) org.basex.query.QueryContext.iter(QueryContext.java:326) org.basex.http.restxq.RestXqResponse.serialize(RestXqResponse.java:84) org.basex.http.web.WebResponse.create(WebResponse.java:66) org.basex.http.restxq.RestXqServlet.run(RestXqServlet.java:69) org.basex.http.BaseXServlet.service(BaseXServlet.java:65) javax.servlet.http.HttpServlet.service(HttpServlet.java:764) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) I tried adding the Ecplise websocket API jar to the lib folder without success. Any ideas? We rely on the RESTXQ for our implementations and find the dba web application very convenient for accessing the logs and managing the database. Thank you. [cid:image001.jpg at 01D7B8F2.9C319310]<http://www.inspirage.com/> Kim Galeazzi | Manager, Solution Architecture, Oracle/Agile PLM Consulting Office: 408-680-8837<tel:%28408%29%20680-8837> | Mobile: 408-466-2121<tel:%28408%29%20466-2121> | Campbell, CA This email communication is considered business confidential and intended for the original recipient of this email only.
Written for BaseX 9.6. BaseX may have changed since: please check the current documentation.
⚡Generated with XQuery