For example java:comp/env/jdbc/nxsqldirectory This means you need to update corresponding
JNDI bindings in nuxeo data source definitions in the config directory -->
- <ResourceLink name="jdbc/nxsqldirectory" global="jdbc/nuxeo" type="javax.sql.DataSource" />
- <ResourceLink name="jdbc/nxrelations-default-jena" global="jdbc/nuxeo" type="javax.sql.DataSource" />
- <ResourceLink name="jdbc/comment-relations" global="jdbc/nuxeo" type="javax.sql.DataSource" />
- <ResourceLink name="jdbc/nxaudit-logs" global="jdbc/nuxeo" type="javax.sql.DataSource" />
- <ResourceLink name="jdbc/nxjbpm" global="jdbc/nuxeo" type="javax.sql.DataSource" />
- <ResourceLink name="jdbc/placeful_service_ds" global="jdbc/nuxeo" type="javax.sql.DataSource" />
- <ResourceLink name="jdbc/nxwebwidgets" global="jdbc/nuxeo" type="javax.sql.DataSource" />
- <ResourceLink name="jdbc/nxuidsequencer" global="jdbc/nuxeo" type="javax.sql.DataSource" />
+ <ResourceLink name="jdbc/nxsqldirectory" global="jdbc/nuxeo" type="javax.sql.DataSource"/>
+ <ResourceLink name="jdbc/nxrelations-default-jena" global="jdbc/nuxeo" type="javax.sql.DataSource"/>
+ <ResourceLink name="jdbc/comment-relations" global="jdbc/nuxeo" type="javax.sql.DataSource"/>
+ <ResourceLink name="jdbc/nxaudit-logs" global="jdbc/nuxeo" type="javax.sql.DataSource"/>
+ <ResourceLink name="jdbc/nxjbpm" global="jdbc/nuxeo" type="javax.sql.DataSource"/>
+ <ResourceLink name="jdbc/placeful_service_ds" global="jdbc/nuxeo" type="javax.sql.DataSource"/>
+ <ResourceLink name="jdbc/nxwebwidgets" global="jdbc/nuxeo" type="javax.sql.DataSource"/>
+ <ResourceLink name="jdbc/nxuidsequencer" global="jdbc/nuxeo" type="javax.sql.DataSource"/>
- <Resource name="TransactionManager" auth="Container"
- type="javax.transaction.TransactionManager" factory="org.nuxeo.runtime.jtajca.NuxeoTransactionManagerFactory"
- transactionTimeoutSeconds="300" />
- <Transaction factory="org.nuxeo.runtime.jtajca.NuxeoUserTransactionFactory" />
- <Resource name="NuxeoConnectionManager" auth="Container"
- type="javax.resource.spi.ConnectionManager" factory="org.nuxeo.runtime.jtajca.NuxeoConnectionManagerFactory"
- minPoolSize="0" maxPoolSize="20"
- idleTimeoutMinutes="0" />
+ <Resource name="TransactionManager" auth="Container" type="javax.transaction.TransactionManager"
+ factory="org.nuxeo.runtime.jtajca.NuxeoTransactionManagerFactory"
+ transactionTimeoutSeconds="300"/>
+ <Transaction factory="org.nuxeo.runtime.jtajca.NuxeoUserTransactionFactory"/>
+ <Resource name="NuxeoConnectionManager" auth="Container"
+ type="javax.resource.spi.ConnectionManager"
+ factory="org.nuxeo.runtime.jtajca.NuxeoConnectionManagerFactory" minPoolSize="0"
+ maxPoolSize="20" idleTimeoutMinutes="0"/>
- <Resource auth="Container" name="Mail" type="javax.mail.Session"
- mail.store.protocol="pop3"
- mail.pop3.host="pop3.nosuchhost.nosuchdomain.com"
- mail.pop3.user="nobody"
- mail.transport.protocol="smtp"
- mail.smtp.host="localhost" mail.smtp.port="25"
- mail.smtp.starttls.enable="false"
- mail.smtp.auth="false"
- mail.smtp.user="anonymous"
- password="password" mail.from="noreply@nuxeo.com"
- mail.debug="false" />
+ <Resource auth="Container" name="Mail" type="javax.mail.Session" mail.store.protocol="pop3"
+ mail.pop3.host="pop3.nosuchhost.nosuchdomain.com" mail.pop3.user="nobody"
+ mail.transport.protocol="smtp" mail.smtp.host="localhost" mail.smtp.port="25"
+ mail.smtp.starttls.enable="false" mail.smtp.auth="false" mail.smtp.user="anonymous"
+ password="password" mail.from="noreply@nuxeo.com" mail.debug="false"/>
- <!--
+ <!--
For CollectionSpace services
-->
- <Resource name="jdbc/CspaceDS" auth="Container" type="javax.sql.DataSource"
- username="${db.user}" password="${db.user.password}"
- driverClassName="${db.jdbc.driver.class}"
- url="jdbc:${db}://${db.host}:${db.port}/cspace"
- maxActive="8" maxIdle="4"/>
+ <Resource name="jdbc/CspaceDS"
+ auth="Container"
+ type="javax.sql.DataSource"
+ username="${db.user}"
+ password="${db.user.password}"
+ driverClassName="${db.jdbc.driver.class}"
+ url="jdbc:${db}://${db.host}:${db.port}/cspace"
+ maxActive="8"
+ maxIdle="4"/>
+
+ <Resource name="jdbc/NuxeoDS"
+ auth="Container"
+ type="javax.sql.DataSource"
+ username="${db.nuxeo.user}"
+ password="${db.nuxeo.user.password}"
+ driverClassName="${db.jdbc.driver.class}"
- url="jdbc:${db}://${db.host}:${db.port}/nuxeo"
++ url="jdbc:${db}://${db.host}:${db.port}/${DatabaseName}"
+ maxActive="8"
+ maxIdle="4"/>
+
+ <Resource name="jdbc/NuxeoMgrDS"
+ auth="Container"
+ type="javax.sql.DataSource"
+ username="${db.user}"
+ password="${db.user.password}"
+ driverClassName="${db.jdbc.driver.class}"
+ url="jdbc:${db}://${db.host}:${db.port}"
+ maxActive="8"
+ maxIdle="4"/>
+
+ <Resource name="jdbc/NuxeoReaderDS"
+ auth="Container"
+ type="javax.sql.DataSource"
+ username="reader"
+ password="read"
+ driverClassName="${db.jdbc.driver.class}"
- url="jdbc:${db}://${db.host}:${db.port}/nuxeo"
++ url="jdbc:${db}://${db.host}:${db.port}/${DatabaseName}"
+ maxActive="8"
+ maxIdle="4"/>
- <Resource name="jdbc/NuxeoDS" auth="Container" type="javax.sql.DataSource"
- username="${db.user}" password="${db.user.password}"
- driverClassName="${db.jdbc.driver.class}"
- url="jdbc:${db}://${db.host}:${db.port}/${DatabaseName}"
- maxActive="8" maxIdle="4"/>
</Context>
// cached in a static hash map of the JDBCTools class. This will speed up lookups as well as protect our\r
// code from JNDI lookup problems -for example, if the JNDI context gets stepped on or corrupted.\r
//\r
- DataSource cspaceDataSource = JDBCTools.getDataSource(JDBCTools.CSPACE_REPOSITORY_NAME);\r
- DataSource nuxeoDataSource = JDBCTools.getDataSource(JDBCTools.NUXEO_REPOSITORY_NAME);\r
+ DataSource cspaceDataSource = JDBCTools.getDataSource(JDBCTools.CSPACE_DATASOURCE_NAME);\r
+ DataSource nuxeoDataSource = JDBCTools.getDataSource(JDBCTools.NUXEO_DATASOURCE_NAME);\r
+ DataSource nuxeoMgrDataSource = JDBCTools.getDataSource(JDBCTools.NUXEO_MANAGER_DATASOURCE_NAME);\r
+ DataSource nuxeoReaderDataSource = JDBCTools.getDataSource(JDBCTools.NUXEO_READER_DATASOURCE_NAME);\r
+ \r
+ // We need to fetch the user name and password from the nuxeoDataSource, to do grants below\r
+ org.apache.tomcat.dbcp.dbcp.BasicDataSource tomcatDataSource =\r
+ (org.apache.tomcat.dbcp.dbcp.BasicDataSource)nuxeoDataSource;\r
+ // Get the template URL value from the JNDI datasource and substitute the databaseName\r
+ String nuxeoUser = tomcatDataSource.getUsername();\r
+ String nuxeoPW = tomcatDataSource.getPassword();\r
+ // HACK - this should come from another DataSource\r
+ tomcatDataSource =\r
+ (org.apache.tomcat.dbcp.dbcp.BasicDataSource)nuxeoReaderDataSource;\r
+ // Get the template URL value from the JNDI datasource and substitute the databaseName\r
+ String readerUser = tomcatDataSource.getUsername();\r
+ String readerPW = tomcatDataSource.getPassword();\r
+ \r
//\r
// Set our AuthN's datasource to be the cspaceDataSource\r
//\r