Configuration for Tomcat versions 5.5 and above
There are 3 main steps for enabling primrose to run within Tomcat.
Install jar file
Copy primrose.jar into Tomcat's user lib directory (eg TOMCAT_HOME/common/lib in v5.5 or TOMCAT_HOME/lib in v6)
Configure server.xml to load primrose:
UnderGlobalNamingResourcestag in server.xml, define a pool, and a web console. There are two sections to add :
-
Define a pool or two to be loaded
Note that you only require a single primrose.config file, yet each pool must be configured in server.xml in order for Tomcat to load them.Make sure that the primroseConfigFile exists, and is configured correctly (see primroseConfig.html).<!-- Define a pool called 'examplePool' --> <Resource name="examplePool" auth="Container" type="uk.org.primrose.vendor.tomcat.PrimroseDataSource" description="The examplePool database pool" factory="uk.org.primrose.vendor.tomcat.PrimroseDataSourceFactory" poolName="examplePool" primroseConfigFile="/usr/tomcat/conf/primrose.config" /> <!-- Define another pool called 'anotherPool' --> <Resource name="anotherPool" auth="Container" type="uk.org.primrose.vendor.tomcat.PrimroseDataSource" description="The anotherPool database pool" factory="uk.org.primrose.vendor.tomcat.PrimroseDataSourceFactory" poolName="anotherPool" primroseConfigFile="/usr/tomcat/conf/primrose.config" />
-
Define an webconsole to provide web access to all pools (optional)
Make sure that the logFile directory exists, and can be written to by tomcat.<!-- Define a webconsole to provide web access to all pools (optional) --> <Resource name="webconsole" auth="Container" type="uk.org.primrose.vendor.tomcat.WebConsoleFactory" description="The primrose web console pool monitor" factory="uk.org.primrose.vendor.tomcat.WebConsoleFactory" username="admin" password="admin" port="8090" logFile="/usr/tomcat/logs/wbconsole.log" logLevel="verbose,info,warn,error,crisis" />
Also make sure that the port is available.
You may password protect the webconsole - if you not wish to, then just leave out the username and password elements.
-
Configure server.xml to link the configured pools to your webapps:
At the end of yourHosttag, add/alter theContexttags :<Context path="/RequestServices" debug="0" reloadable="true" crossContext="true"> <ResourceLink global="examplePool" name="examplePool" type="javax.sql.DataSource"/> <ResourceLink global="anotherPool" name="anotherPool" type="javax.sql.DataSource"/> </Context>


