Hello!
I previously had BaseX 8.1.1 working as a Tomcat webapp and it all worked fine. I know tried to simply put BaseX82.war as another webapp, but the second webapp seems to connect to the BaseX instance in the first webapp.
For example: the address http://tomcat.myhost.ee/BaseX82/rest/ lists all the databases that are in http://tomcat.myhost.ee/BaseX811/ even though the new BaseX82 instance should be empty.
I have problems understanding if this concerns BaseX configuration or Tomcat configuration... Which files should I check? Looking at the both's webapps' WEB-INF/web.xml they seem logically fine to me.
Best regards Kristian K
Hi Kristian,
I previously had BaseX 8.1.1 working as a Tomcat webapp and it all worked fine. I know tried to simply put BaseX82.war as another webapp, but the second webapp seems to connect to the BaseX instance in the first webapp.
True, same on my machine. It doesn't seem to be due to 8.2. Instead, Tomcat seems to adopts some options from a running BaseX instance (and the primary instance might differ after a restart of Tomcat):
http://localhost:8080/BaseX811/rest?query=db:system()
<system> <generalinformation> <version>8.1.1</version> </generalinformation> <globaloptions> <dbpath>C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\BaseX811\data</dbpath> ...
http://localhost:8080/BaseX82/rest?query=db:system()
<system> <generalinformation> <version>8.2</version> <usedmemory>37 MB</usedmemory> </generalinformation> <globaloptions> <authmethod>Basic</authmethod> <dbpath>C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\BaseX811\data</dbpath> ...
I currently have no idea if this can be fixed in Tomcat or BaseX (I don't know such a behavior from Jetty), but... I'll try to find out more.
Christian
I think it has to do with Tomcat webapps' context settings [1]. It states that there is some kind of default context that will be used if no other contexts are matched. I'm reading it now and will try some experimenting.
I also note that my Tomcat setup is not configured for multiple instances, thus my CATALINA_BASE is the same as CATALINA_HOME.
Cheers Kristian
[1]: http://tomcat.eki.ee/docs/config/context.html
27.05.2015 13:53, Christian Grün kirjutas:
Hi Kristian,
I previously had BaseX 8.1.1 working as a Tomcat webapp and it all worked fine. I know tried to simply put BaseX82.war as another webapp, but the second webapp seems to connect to the BaseX instance in the first webapp.
True, same on my machine. It doesn't seem to be due to 8.2. Instead, Tomcat seems to adopts some options from a running BaseX instance (and the primary instance might differ after a restart of Tomcat):
http://localhost:8080/BaseX811/rest?query=db:system()
<system> <generalinformation> <version>8.1.1</version> </generalinformation> <globaloptions> <dbpath>C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\BaseX811\data</dbpath> ...
http://localhost:8080/BaseX82/rest?query=db:system()
<system> <generalinformation> <version>8.2</version> <usedmemory>37 MB</usedmemory> </generalinformation> <globaloptions> <authmethod>Basic</authmethod> <dbpath>C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\BaseX811\data</dbpath> ...
I currently have no idea if this can be fixed in Tomcat or BaseX (I don't know such a behavior from Jetty), but... I'll try to find out more.
Christian
I haven't found any solutions, but I wrote down what I noticed:
None of my webapps have a corresponding context.xml file in: $CATALINA_BASE/conf/[enginename]/[hostname]/
Neither is there any default context file in: $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml.default
So the only default values are read from: $CATALINA_BASE/conf/context.xml
When looking at the WEB-INF/web.xml that is shipped with BaseX I notice it doesn't give the context parameter for: * restpath * webpath
Comparing both of my webapps http://%5B...%5D/rest?command=info I noticed that one has EVENTPORT: 1985 set while the other lacks it completely, one has CACHEQUERY: false while the other lacks it completely, one has MAXHITS: -1 while the other lacks it completely.
Please tell me to stop if you feel I clutter the list. I thought maybe it helps to share my observations.
Best wishes Kristian
28.05.2015 09:03, Kristian Kankainen kirjutas:
I think it has to do with Tomcat webapps' context settings [1]. It states that there is some kind of default context that will be used if no other contexts are matched. I'm reading it now and will try some experimenting.
I also note that my Tomcat setup is not configured for multiple instances, thus my CATALINA_BASE is the same as CATALINA_HOME.
Cheers Kristian
27.05.2015 13:53, Christian Grün kirjutas:
Hi Kristian,
I previously had BaseX 8.1.1 working as a Tomcat webapp and it all worked fine. I know tried to simply put BaseX82.war as another webapp, but the second webapp seems to connect to the BaseX instance in the first webapp.
True, same on my machine. It doesn't seem to be due to 8.2. Instead, Tomcat seems to adopts some options from a running BaseX instance (and the primary instance might differ after a restart of Tomcat):
http://localhost:8080/BaseX811/rest?query=db:system()
<system> <generalinformation> <version>8.1.1</version> </generalinformation> <globaloptions> <dbpath>C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\BaseX811\data</dbpath> ...
http://localhost:8080/BaseX82/rest?query=db:system()
<system> <generalinformation> <version>8.2</version> <usedmemory>37 MB</usedmemory> </generalinformation> <globaloptions> <authmethod>Basic</authmethod> <dbpath>C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\BaseX811\data</dbpath> ...
I currently have no idea if this can be fixed in Tomcat or BaseX (I don't know such a behavior from Jetty), but... I'll try to find out more.
Christian
Hi Kristian,
Thanks, keep on going, every feedback is valuable.
Christian
On Thu, May 28, 2015 at 9:22 AM, Kristian Kankainen kristian@keeleleek.ee wrote:
I haven't found any solutions, but I wrote down what I noticed:
None of my webapps have a corresponding context.xml file in: $CATALINA_BASE/conf/[enginename]/[hostname]/
Neither is there any default context file in: $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml.default
So the only default values are read from: $CATALINA_BASE/conf/context.xml
When looking at the WEB-INF/web.xml that is shipped with BaseX I notice it doesn't give the context parameter for:
- restpath
- webpath
Comparing both of my webapps http://%5B...%5D/rest?command=info I noticed that one has EVENTPORT: 1985 set while the other lacks it completely, one has CACHEQUERY: false while the other lacks it completely, one has MAXHITS: -1 while the other lacks it completely.
Please tell me to stop if you feel I clutter the list. I thought maybe it helps to share my observations.
Best wishes Kristian
28.05.2015 09:03, Kristian Kankainen kirjutas:
I think it has to do with Tomcat webapps' context settings [1]. It states that there is some kind of default context that will be used if no other contexts are matched. I'm reading it now and will try some experimenting.
I also note that my Tomcat setup is not configured for multiple instances, thus my CATALINA_BASE is the same as CATALINA_HOME.
Cheers Kristian
27.05.2015 13:53, Christian Grün kirjutas:
Hi Kristian,
I previously had BaseX 8.1.1 working as a Tomcat webapp and it all worked fine. I know tried to simply put BaseX82.war as another webapp, but the second webapp seems to connect to the BaseX instance in the first webapp.
True, same on my machine. It doesn't seem to be due to 8.2. Instead, Tomcat seems to adopts some options from a running BaseX instance (and the primary instance might differ after a restart of Tomcat):
http://localhost:8080/BaseX811/rest?query=db:system()
<system> <generalinformation> <version>8.1.1</version> </generalinformation> <globaloptions> <dbpath>C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\BaseX811\data</dbpath> ...
http://localhost:8080/BaseX82/rest?query=db:system()
<system> <generalinformation> <version>8.2</version> <usedmemory>37 MB</usedmemory> </generalinformation> <globaloptions> <authmethod>Basic</authmethod> <dbpath>C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\BaseX811\data</dbpath> ...
I currently have no idea if this can be fixed in Tomcat or BaseX (I don't know such a behavior from Jetty), but... I'll try to find out more.
Christian
basex-talk@mailman.uni-konstanz.de