tomcat user directory is shared across multiple systems

User 8a9a72ee72

04-05-2015 22:18:37

 


I have successfully installed the chemaxon webservices to our development integration server, but it is failing on our qa test system.   The only log error I am seeing is stating that it can not successfully start the ws_db database because it is already running.


It turns out that our tomcat user directory is defined on a disk that is shared across numerous systems.  (3 development integration servers and 3 QA test servers.) 


If I shutdown the dev integration system and clean out the tomcat .chemaxon directory so that it only has the licenses, then the qa test system will start up properly without errors.


Obviously,  this is not a workable solution:  out production setup consists of 3 distinct application servers and I am sure they also are setup so that the tomcat user directory is shared.


1. Since all I want- at least for this initial integration-- is to be able to import and export multiple file formats, is there anyway the database portion can be temporarily disabled? Perhaps by disabling some of the unused web services?


2. Is there any way that the database can be located somewhere else and that location specified other than in the .chemaxon directory?  I saw some documentation that looked like you could create additional databases,  but it looked as if everything was still driven from the <tomcat directory>/.chemaxon/ws-config.xml file


This is quite urgent as we are planning to announce this integration with the release planned for next week.


regards

ChemAxon 13811e1703

05-05-2015 09:33:06

Hi Robin,

A qick workaround for disabling all database access in the application by doing the following steps:
1.) Remove all <config></config> entries from the ws-config.xml on path {user home}/.chemaxon, it should look like:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ch:configs xmlns:ch="http://generated.ws2common.jchem.chemaxon">
</ch:configs>

2.) Look for WEB-INF/classes/applicationContext.xml in the exploded application, remove or comment this line:
    <import resource="classpath:spring-appDb.xml" />


3.) Do step 2.) for all the deployed instances.


4.) Restart the application server.

For a long term we will figure out a better solution with configurable defaults, and I'll keep you updated on this!

Regards,
Peter 

User 8a9a72ee72

05-05-2015 13:56:48

thank you!  That worked well.

User 6135131fe5

22-01-2016 18:57:26










plajko wrote:

Hi Robin,

A qick workaround for disabling all database access in the application by doing the following steps:
1.) Remove all <config></config> entries from the ws-config.xml on path {user home}/.chemaxon, it should look like:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ch:configs xmlns:ch="http://generated.ws2common.jchem.chemaxon">
</ch:configs>

2.) Look for WEB-INF/classes/applicationContext.xml in the exploded application, remove or comment this line:
    <import resource="classpath:spring-appDb.xml" />


3.) Do step 2.) for all the deployed instances.


4.) Restart the application server.

For a long term we will figure out a better solution with configurable defaults, and I'll keep you updated on this!

Regards,
Peter 


Hey guys,


I have a similar situation -- multiple JChem Web Service instances served from Tomcat (8.0.26), but both started using the same account whose home directory is on a shared filesystem (and therefore they share their ~/.chemaxon folder).


I followed the instructions you posted, but they didn't seem to work for me.  I'm using 15.8.3.0-b569 Web Services, and I noticed that webservices/WEB-INF/classes/applicationContext.xml doesn't have the line


<import resource="classpath:spring-appDb.xml" />


however, it does have:


<import resource="classpath:spring-jchem-db.xml" />


Are there updated instructions for disabling databases in this version?


Thanks!


= Ryan

ChemAxon 13811e1703

26-01-2016 08:05:56

Hi Ryan,

There are no updated solution on this issue. Your guess is correct, you can try removing this line:
<import resource="classpath:spring-jchem-db.xml" />

However it is strongly recommended to use dedicated application server for each JChem Web Services instances (The chemaxon home folder can be defined with environment variable: CHEMAXON_HOME)

Regards,
Peter