Will cmdbuild run on resin?
--
Ståle
Will cmdbuild run on resin?
--
Ståle
CMDBuild is currently certified to work with Apache Tomcat 6 and 7. We have never tried it with Resin, and we don’t know that environment enough to test it properly. You will need two libraries not included in the war:
I have now tried to make Cmdbuild run on Resin, with the help of my colleagues who are more skilled
in the world of web applications. According to them, it seems that Cmdbuild tries to use some
extentions to the DataSource-standard that are Tomcat specific. Do you know if this is the case? If so, is it possible to use the more vanilla DataSource-standard.
Apparently both Resin and Tomcat have implemented additional functionality to the DataSource thingy, presumably to make things faster.
Does this make sense? Disclaimer: This is not my field of expertise, and I'm basically just guessing here
--
Ståle
You are probably referring to the context.xml file, where we use org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory. That should be included in the tomcat-dbcp.jar library (see my previous post), and it should not depend on other Tomcat libraries, thus it should be added to the Resin classpath without doing any damage.
OK, so we can use the tomcat-dbcp.jar on resin. Should it go in the WEB-INF/lib or somewhere more global? What is then the proper place to put the database parameters?
cmdbuild/conf/cmdbuild-jdbc.conf (our current option)
cmdbuild/conf/database.properties
cmdbuild/cmdbuild-1/cmdbuild/WEB-INF/database.properties
cmdbuild/cmdbuild-1/cmdbuild/WEB-INF/database.conf
AFAIK it should be put outside the web application, just like the PostgresSQL driver.
OK, will try different options.
As I mentioned in another discussion on this forum, we have not managed to use the wizard to use our existing database. Maybe this was because the database was empty, as you said, and not already populated. Our logs said that Cmdbuild always used the user «postgres», instead of our own user. Could it be a bug?
Tecnoteca ha scritto:
I forgot that there is another configuration that you should probably change. The logger configuration (WEB-INF/conf/log4j.conf) uses the ${catalina.home} variable to store the logs in the Tomcat log directory.Paolo
resin-debug.log says
:
[2012-10-05 13:41:03.729] {main} java.lang.ClassCastException: com.caucho.sql.DBPool cannot be cast to org.apache.tomcat.dbcp.dbcp.BasicDataSource
The app is configured with:
<class-loader>
<library-loader path="/www/var/data/cmdbuild/lib"/>
</class-loader>
which contains:
$ ls -l /www/var/data/cmdbuild/lib
-rw-r--r-- 1 resin w3-core 402906 2012-08-08 10:55 postgresql-8.1-407.jdbc3.jar
-rw-r--r-- 1 resin w3-core 197443 2012-08-08 10:57 tomcat-dbcp.jar
Any hints?
--
Ståle
I submitted a reply to this a couple of weeks ago, apparently it is still waiting for approval.
--
Ståle