My apologies -- I accidentally clicked 'send'. :/On Tue, Nov 4, 2014 at 10:12 AM, Bridger Dyson-Smith <bdysonsmith@gmail.com> wrote:Hi all,I know that there aren't many Tomcat users on this list, and that I'm echoing previous emails to the list but I wanted to see if anyone here had encountered this issue. Some pieces of this may be steps forward to solving problems that others on the list have mentioned; I've cc'd you in the hopes that the information is helpful.Tomcat can be configured to multiple services, on varying ports, in the $TOMCAT_HOME/conf/server.xml file; e.g. [1]. I have two nearly-identical WARs in the following directory structure:`--> tree -L 1 apache-tomcat-7.0.53apache-tomcat-7.0.53├── LICENSE├── NOTICE├── RELEASE-NOTES├── RUNNING.txt├── bin├── conf├── lib├── logs├── logs2├── temp├── webapps├── webapps2└── work`--> tree -L 1 webappswebapps├── BaseX79├── BaseX79.war├── ROOT├── docs├── examples├── fop├── fop.war├── host-manager├── imagemanip├── imagemanip.war├── lukeall-1.0.1.jar├── manager├── retailer├── retailer.war├── saxon├── saxon.war├── spc├── spc.war├── static├── utk-xtf├── utk-xtf-frameless├── utk-xtf-frameless.war└── utk-xtf.war`--> tree -L 1 webapps2webapps2├── ROOT├── bX79├── bX79.war├── docs├── examples├── host-manager└── managerNow, the problem is that I get a port conflict message from Tomcat [2] and only the first WAR ($TOMCAT_HOME/webapps/BaseX79) loads. E.g. there are some minor textual changes between the two restxq.xqm files.I've tried to add a .basex file (webapps2/bX79/.basex) that specifies a different port, and I've also tried adding that information in webapps2/bX79/WEB-INF/web.xml as <context-params> [3].I'm planning to email the Tomcat-users list to see if someone there can shed more light on this; i.e. is this a problem with the way that server.xml is configured, etc. However I was also curious if anyone here had any thoughts or suggestions on this setup. Am I missing a step; e.g. should I be incorporating a compilation step - generating a WAR file - or something else?
I apologize for the breadth of the questions - I've jumped into the middle of a problem and now I'm trying to work my back out to the start. Thank you for your time & trouble.Best,
Bridger[1] example server.xml:<Server port="8005" shutdown="SHUTDOWN"><Listener className="org.apache.catalina.core.AprLifecycleListener"SSLEngine="on"/><Listener className="org.apache.catalina.core.JasperListener"/><Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/><Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/><Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/><GlobalNamingResources><Resource name="UserDatabase"auth="Container"type="org.apache.catalina.UserDatabase"description="User database that can be updated and saved"factory="org.apache.catalina.users.MemoryUserDatabaseFactory"pathname="conf/tomcat-users.xml"/></GlobalNamingResources><Service name="Catalina"><Connector port="8080"protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"maxThreads="125" minSpareThreads="25" maxSpareThreads="75"enableLookups="false" acceptCount="100"/><Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/><Engine name="Catalina" defaultHost="localhost"><Realm className="org.apache.catalina.realm.LockOutRealm"><Realm className="org.apache.catalina.realm.UserDatabaseRealm"resourceName="UserDatabase"/></Realm><Host name="localhost"appBase="webapps"unpackWARs="true"autoDeploy="true"><Valve className="org.apache.catalina.valves.AccessLogValve"directory="logs"prefix="localhost_access_log."suffix=".txt"pattern="%h %l %u %t "%r" %s %b"/></Host></Engine></Service><Service name="Catalina2"><Connector port="18080"protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="18443"/><Connector port="18009" protocol="AJP/1.3" redirectPort="18443"/><Engine name="Catalina2" defaultHost="localhost"><Realm className="org.apache.catalina.realm.LockOutRealm"><Realm className="org.apache.catalina.realm.UserDatabaseRealm"resourceName="UserDatabase"/></Realm><Host name="localhost"appBase="webapps2"unpackWARS="true"autoDeploy="true"><Valve className="org.apache.catalina.valves.AccessLogValve"directory="logs2"prefix="localhost_Cat2_access_log."suffix=".txt"pattern="%h %l %u %t &quot;%r&quot; %s %b"/></Host></Engine></Service></Server>[2] $TOMCAT_HOME/logs/catalina.out:INFO: Starting service Catalina2Nov 03, 2014 9:08:30 PM org.apache.catalina.core.StandardEngine startInternalINFO: Starting Servlet Engine: Apache Tomcat/7.0.53Nov 03, 2014 9:08:30 PM org.apache.catalina.startup.HostConfig deployWARINFO: Deploying web application archive /usr/home/bridger/src/apache-tomcat-7.0.53/webapps2/bX79.warNov 03, 2014 9:08:31 PM org.apache.catalina.core.StandardContext loadOnStartupSEVERE: Servlet /bX79 threw load() exceptionjava.net.BindException: Address already in useat java.net.PlainSocketImpl.socketBind(Native Method)at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)at java.net.ServerSocket.bind(ServerSocket.java:376)at java.net.ServerSocket.bind(ServerSocket.java:330)at org.basex.BaseXServer.<init>(BaseXServer.java:110)at org.basex.http.HTTPContext.init(HTTPContext.java:379)at org.basex.http.BaseXServlet.init(BaseXServlet.java:34)at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284)at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197)at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5210)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5493)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1073)at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)at java.util.concurrent.FutureTask.run(FutureTask.java:262)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)at java.lang.Thread.run(Thread.java:745)Nov 03, 2014 9:08:31 PM org.apache.catalina.startup.HostConfig deployDirectoryINFO: Deploying web application directory /usr/home/bridger/src/apache-tomcat-7.0.53/webapps2/examplesNov 03, 2014 9:08:31 PM org.apache.catalina.core.ApplicationContext logINFO: ContextListener: contextInitialized()Nov 03, 2014 9:08:31 PM org.apache.catalina.core.ApplicationContext logINFO: SessionListener: contextInitialized()Nov 03, 2014 9:08:31 PM org.apache.catalina.core.ApplicationContext logINFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@5f0f8770')Nov 03, 2014 9:08:31 PM org.apache.catalina.startup.HostConfig deployDirectoryINFO: Deploying web application directory /usr/home/bridger/src/apache-tomcat-7.0.53/webapps2/docsNov 03, 2014 9:08:31 PM org.apache.catalina.startup.HostConfig deployDirectoryINFO: Deploying web application directory /usr/home/bridger/src/apache-tomcat-7.0.53/webapps2/ROOTNov 03, 2014 9:08:31 PM org.apache.catalina.startup.HostConfig deployDirectoryINFO: Deploying web application directory /usr/home/bridger/src/apache-tomcat-7.0.53/webapps2/managerNov 03, 2014 9:08:31 PM org.apache.catalina.startup.HostConfig deployDirectoryINFO: Deploying web application directory /usr/home/bridger/src/apache-tomcat-7.0.53/webapps2/host-managerNov 03, 2014 9:08:31 PM org.apache.coyote.AbstractProtocol startINFO: Starting ProtocolHandler ["http-bio-18080"]Nov 03, 2014 9:08:31 PM org.apache.coyote.AbstractProtocol startINFO: Starting ProtocolHandler ["ajp-bio-18009"]Nov 03, 2014 9:08:31 PM org.apache.catalina.startup.Catalina startINFO: Server startup in 7893 ms[3] $TOMCAT_HOME/webapps2/bX79/WEB-INF/web.xml<context-param><param-name>org.basex.port</param-name><param-value>8984</param-value></context-param><context-param><param-name>org.basex.serverport</param-name><param-value>8984</param-value></context-param>