Hi AirQuick,
The BaseX startup behavior hasn’t been changed in recent versions, and I didn’t manage to reproduce the behavior you described. Which OS do you use? Does it work if you delay the invocations?
If you use Linux, it’s usually more elegant to start BaseX as background task. A second Java process will be launched when running -S, and this process cannot be controlled by the original process anymore.
Cheers Christian
basexhttp -S
BaseX 9.4.4 beta [HTTP Server] [main] INFO org.eclipse.jetty.util.log - Logging initialized @342ms to org.eclipse.jetty.util.log.Slf4jLog HTTP Server was started (port: 80). Server was started (port: 1984).
basexhttpstop
BaseX 9.4.4 beta [HTTP Server] [main] INFO org.eclipse.jetty.util.log - Logging initialized @345ms to org.eclipse.jetty.util.log.Slf4jLog HTTP Server was stopped (port: 80). Server was stopped (port: 1984).
basexhttp -S
BaseX 9.4.4 beta [HTTP Server] [main] INFO org.eclipse.jetty.util.log - Logging initialized @322ms to org.eclipse.jetty.util.log.Slf4jLog HTTP Server was started (port: 80). Server was started (port: 1984).
basexhttp stop
BaseX 9.4.4 beta [HTTP Server] [main] INFO org.eclipse.jetty.util.log - Logging initialized @342ms to org.eclipse.jetty.util.log.Slf4jLog HTTP Server was stopped (port: 80). Server was stopped (port: 1984).
On 9/14/20, AirQuick noreply@airquick.airpost.net wrote:
Repeating "bin/basexhttp -S" and "bin/basexhttpstop" is no longer supported?
On BaseX 9.4.1 and 9.4.2, you can repeat:
$ java -version java version "1.8.0_261" Java(TM) SE Runtime Environment (build 1.8.0_261-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode) $ BaseX941/basex/bin/basexhttp -S /tmp/BaseX941/basex/.basex: writing new configuration file. BaseX 9.4.1 [HTTP Server] [main] INFO org.eclipse.jetty.util.log - Logging initialized @676ms to org.eclipse.jetty.util.log.Slf4jLog HTTP Server was started (port: 8984). Server was started (port: 1984). $ BaseX941/basex/bin/basexhttpstop BaseX 9.4.1 [HTTP Server] [main] INFO org.eclipse.jetty.util.log - Logging initialized @227ms to org.eclipse.jetty.util.log.Slf4jLog HTTP Server was stopped (port: 8984). Server was stopped (port: 1984). $ BaseX941/basex/bin/basexhttp -S BaseX 9.4.1 [HTTP Server] [main] INFO org.eclipse.jetty.util.log - Logging initialized @231ms to org.eclipse.jetty.util.log.Slf4jLog HTTP Server was started (port: 8984). Server was started (port: 1984). $ BaseX941/basex/bin/basexhttpstop BaseX 9.4.1 [HTTP Server] [main] INFO org.eclipse.jetty.util.log - Logging initialized @237ms to org.eclipse.jetty.util.log.Slf4jLog HTTP Server was stopped (port: 8984). Server was stopped (port: 1984).
On 9.4.3, you can't:
$ BaseX943/basex/bin/basexhttp -S /tmp/BaseX943/basex/.basex: writing new configuration file. BaseX 9.4.3 [HTTP Server] [main] INFO org.eclipse.jetty.util.log - Logging initialized @309ms to org.eclipse.jetty.util.log.Slf4jLog HTTP Server was started (port: 8984). Server was started (port: 1984). $ BaseX943/basex/bin/basexhttpstop BaseX 9.4.3 [HTTP Server] [main] INFO org.eclipse.jetty.util.log - Logging initialized @250ms to org.eclipse.jetty.util.log.Slf4jLog HTTP Server was stopped (port: 8984). Server was stopped (port: 1984). $ BaseX943/basex/bin/basexhttp -S BaseX 9.4.3 [HTTP Server] [main] INFO org.eclipse.jetty.util.log - Logging initialized @254ms to org.eclipse.jetty.util.log.Slf4jLog [main] INFO org.eclipse.jetty.util.log - Logging initialized @225ms to org.eclipse.jetty.util.log.Slf4jLog [main] INFO org.eclipse.jetty.server.Server - jetty-9.4.31.v20200723; built: 2020-07-23T17:57:36.812Z; git: 450ba27947e13e66baa8cd1ce7e85a4461cacc1d; jvm 1.8.0_261-b12 [main] INFO org.eclipse.jetty.webapp.StandardDescriptorProcessor - NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet [main] INFO org.eclipse.jetty.server.session - DefaultSessionIdManager workerName=node0 [main] INFO org.eclipse.jetty.server.session - No SessionScavenger set, using defaults [main] INFO org.eclipse.jetty.server.session - node0 Scavenging every 600000ms [main] WARN org.eclipse.jetty.server.handler.ContextHandler.ROOT - unavailable org.basex.core.BaseXException: Server is running or permission was denied (port: 1984). at org.basex.BaseXServer.<init>(BaseXServer.java:108) at org.basex.http.HTTPContext.init(HTTPContext.java:102) at org.basex.http.BaseXServlet.init(BaseXServlet.java:37) at org.eclipse.jetty.servlet.ServletHolder$WrapperServlet.init(ServletHolder.java:1289) at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:602) at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:413) at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:767) at java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:352) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:483) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) at java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312) at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:743) at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:791) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:360) at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1445) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1409) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:855) at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) at org.eclipse.jetty.server.Server.start(Server.java:408) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) at org.eclipse.jetty.server.Server.doStart(Server.java:372) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) at org.basex.BaseXHTTP.<init>(BaseXHTTP.java:128) at org.basex.BaseXHTTP.main(BaseXHTTP.java:52) [main] WARN org.eclipse.jetty.webapp.WebAppContext - Failed startup of context o.e.j.w.WebAppContext@44f75083{BaseX: The XML Database and XQuery Processor,/,file:///tmp/BaseX943/basex/webapp/,UNAVAILABLE}{/tmp/BaseX943/basex/webapp} javax.servlet.ServletException: org.basex.core.BaseXException: Server is running or permission was denied (port: 1984). at org.basex.http.BaseXServlet.init(BaseXServlet.java:39) at org.eclipse.jetty.servlet.ServletHolder$WrapperServlet.init(ServletHolder.java:1289) at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:602) at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:413) at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:767) at java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:352) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:483) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) at java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312) at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:743) at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:791) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:360) at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1445) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1409) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:855) at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) at org.eclipse.jetty.server.Server.start(Server.java:408) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) at org.eclipse.jetty.server.Server.doStart(Server.java:372) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) at org.basex.BaseXHTTP.<init>(BaseXHTTP.java:128) at org.basex.BaseXHTTP.main(BaseXHTTP.java:52) Caused by: org.basex.core.BaseXException: Server is running or permission was denied (port: 1984). at org.basex.BaseXServer.<init>(BaseXServer.java:108) at org.basex.http.HTTPContext.init(HTTPContext.java:102) at org.basex.http.BaseXServlet.init(BaseXServlet.java:37) ... 26 more Failed to bind to /0.0.0.0:8984
-- AirQuick