Just some notes trying to get uPortal and Sakai into the same Tomcat.
Quickstart worked. I got source to run in Tomcat 5.0.28 – make sure to get the HSQL database running.
I could not figure out how to make HSQL start from the stock distro. But I cheated and used
ant hsql
From the quickstart.
Tried to make source work with Tomcat 5.5.9 –
Error creating bean with name ‘portletApplDefIncrementer’ defined in resource [/WEB-INF/persistence_beans.xml] of ServletContext: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/collections/CursorableLinkedList
I needed to add this file:
common/lib/commons-collections-3.1.jar
Up comes uPortal 3 in Tomcat 5.5.9
Now trying to make it work in the same Tomcat (5.5.9) as Sakai.
Deploy both.
Found commons-collections-3.1.jar in both shared/lib and common/lib – removed the shared/lib version…
Came up with
Error creating bean with name ‘sectionsSessionFactory’ defined in ServletContext resource [/WEB-INF/spring-beans.xml]: Initialization of bean failed; nested exception is java.lang.IllegalAccessError: tried to access method org.apache.commons.dbcp.DelegatingConnection.passivate()V from class org.apache.commons.dbcp.SakaiPoolableConnectionFactory
java.lang.IllegalAccessError: tried to access method org.apache.commons.dbcp.DelegatingConnection.passivate()V from class org.apache.commons.dbcp.SakaiPoolableConnectionFactory
uPortal comes up but Sakai does not.
mv commons-collections-3.1.jar commons-dbcp-1.2.1.jar ../../shared/lib/
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘sectionsSessionFactory’ defined in ServletContext resource [/WEB-INF/spring-beans.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/collections/CursorableLinkedList
uPortal blows up
WARN: get(org.sakaiproject.service.legacy.site.SiteService): org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘org.sakaiproject.service.legacy.site.SiteService’ defined in file [/Users/csev/dev/jakarta-tomcat-5.5.9/components/sakai-legacy-components/WEB-INF/components.xml]: Can’t resolve reference to bean ‘org.sakaiproject.service.framework.sql.SqlService’ while setting property ‘sqlService’; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘org.sakaiproject.service.framework.sql.SqlService’ defined in file [/Users/csev/dev/jakarta-tomcat-5.5.9/components/sakai-legacy-components/WEB-INF/components.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/collections/CursorableLinkedList (2005-09-02 16:37:12,080 http-8080-Processor24_org.sakaiproject.component.kernel.component.SpringCompMgr)
Sakai blows up.
Start over with a clean Tomcat and deploy Sakai first. Then deploy uPortal. Here is a diff:
dr-charles-severances-powerbook-g4-15:~/dev csev$ diff -r jakarta-tomcat-5.5.9/ tomcat-5.5.9-withsakai/
Only in jakarta-tomcat-5.5.9/common/endorsed: xalan.jar
Only in jakarta-tomcat-5.5.9/common/lib: commons-dbcp-1.2.1.jar
Only in jakarta-tomcat-5.5.9/common/lib: commons-pool-1.2.jar
Only in jakarta-tomcat-5.5.9/common/lib: hsqldb.jar
Only in jakarta-tomcat-5.5.9/conf/Catalina/localhost: uP3.xml
Only in jakarta-tomcat-5.5.9/shared/lib: commons-beanutils-1.7.0.jar
Only in jakarta-tomcat-5.5.9/shared/lib: commons-digester-1.6.jar
Only in jakarta-tomcat-5.5.9/shared/lib: junit.jar
Only in jakarta-tomcat-5.5.9/shared/lib: pluto-1.0.1-rc2.jar
Only in jakarta-tomcat-5.5.9/shared/lib: portlet-api-1.0.jar
Only in jakarta-tomcat-5.5.9/webapps: testWebapp.war
Only in jakarta-tomcat-5.5.9/webapps: uP3
$ find . -name ‘xalan.jar’
./common/endorsed/xalan.jar
$ find . -name ‘*dbcp*.jar’
uPortal: ./common/lib/commons-dbcp-1.2.1.jar
Sakai: ./common/lib/naming-factory-dbcp.jar
Sakai: ./shared/lib/commons-dbcp-1.2.1.jar
$ find . -name ‘commons-pool*jar’
uPortal: ./common/lib/commons-pool-1.2.jar
Sakai: ./shared/lib/commons-pool-1.2.jar
$ find . -name ‘hsql*jar’
uPortal: ./common/lib/hsqldb.jar
Sakai: ./shared/lib/hsqldb-1.7.3.3.jar
$ find . -name ‘commons-beanutils*jar’
Sakai: ./components/sakai-common-components/WEB-INF/lib/commons-beanutils-1.7.0.jar
uPortal: ./shared/lib/commons-beanutils-1.7.0.jar
$ find . -name ‘commons-digester*jar’
uPortal: ./shared/lib/commons-digester-1.6.jar
$
Hmmm..
Step 1: Remove some stuff uPortal puts in common and Sakai puts in shared
rm ./common/lib/commons-dbcp-1.2.1.jar
rm ./common/lib/commons-pool-1.2.jar
rm ./common/lib/hsqldb.jar
Viola! Both come up…