Page History
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
shrine { pmEndpoint { url = "http://i2b2_node_url:9090/i2b2/services/PMService/getServices" } ontEndpoint { url = "http://i2b2_node_url:9090/i2b2/services/OntologyService" } hiveCredentials { domain = "i2b2demo" username = "demo" password = "demouser" crcProjectId = "Demo" ontProjectId = "SHRINE" } messagequeue { blockingq { serverUrl = "https://shrine-act-test.hms.harvard.edu:6443/shrine-metadata/mom" } } breakdownResultOutputTypes { PATIENT_AGE_COUNT_XML { description = "Age patient breakdown" } PATIENT_RACE_COUNT_XML { description = "Race patient breakdown" } PATIENT_VITALSTATUS_COUNT_XML { description = "Vital Status patient breakdown" } PATIENT_GENDER_COUNT_XML { description = "Gender patient breakdown" } } queryEntryPoint { create = true audit { collectQepAudit = false database { dataSourceFrom = "JNDI" jndiDataSourceName = "java:comp/env/jdbc/qepAuditDB" slickProfileClassName = "slick.jdbc.MySQLProfile$" } } trustModelIsHub = true attachSigningCert = true authenticationType = "pm" //slick.jdbc.H2Profile$ authorizationType = "shrine-steward" queuedQueryPollUrl = "https://your_shrine_url:6443/shrine/rest/i2b2/request" //Change to your url and port number shrineSteward { qepUserName = "qep" //slick.jdbc.PostgresProfile$ qepPassword = "trustme" stewardBaseUrl = "https://localhost:6443" } includeAggregateResults = false maxQueryWaitTime { //slick.jdbc.SQLServerProfile$ minutes = 5 } broadcasterServiceEndpoint { url = "https://shrine-act-test.hms.harvard.edu:6443/shrine/rest/broadcaster/broadcast"slick.jdbc.JdbcProfile$ } } //end queryEntryPoint adapter { create = true audit { collectAdapterAudit = false //slick.jdbc.OracleProfile$ database {} } dataSourceFrom = "JNDI" trustModelIsHub = true jndiDataSourceNameattachSigningCert = "java:comp/env/jdbc/adapterAuditDB"true slickProfileClassNameauthenticationType = "slick.jdbc.MySQLProfile$pm" authorizationType = } } "shrine-steward" crcEndpoint { url queuedQueryPollUrl = "httphttps://i2b2your_nodeshrine_url:90906443/shrine/rest/i2b2/services/QueryToolService"request" //Change to your url and port number shrineSteward }{ adapterLockoutAttemptsThresholdqepUserName = 0"qep" setSizeObfuscationqepPassword = true"trustme" adapterMappingsFileNamestewardBaseUrl = "AdapterMappings.csv" https://localhost:6443" maxSignatureAge {} minutesincludeAggregateResults = 5false } maxQueryWaitTime { immediatelyRunIncomingQueries minutes = true5 } // end adapter} networkStatusQuery = "\\\\SHRINE\\SHRINE\\Demographics\\Gender\\Male\\" humanReadableNodeName = "Harvard Test Node" shrineDatabaseType = "mysql" keystore { file = "/opt/shrine/shrine.keystore"broadcasterServiceEndpoint { url = "https://shrine-act-test.hms.harvard.edu:6443/shrine/rest/broadcaster/broadcast" } } //end queryEntryPoint adapter { create = true audit { collectAdapterAudit = false database { dataSourceFrom = "JNDI" jndiDataSourceName = "java:comp/env/jdbc/adapterAuditDB" slickProfileClassName = "slick.jdbc.MySQLProfile$" //slick.jdbc.H2Profile$ //slick.jdbc.PostgresProfile$ //slick.jdbc.SQLServerProfile$ //slick.jdbc.JdbcProfile$ //slick.jdbc.OracleProfile$ } } crcEndpoint { url = "http://i2b2_node_url:9090/i2b2/services/QueryToolService" } adapterLockoutAttemptsThreshold = 0 setSizeObfuscation = true adapterMappingsFileName = "AdapterMappings.csv" maxSignatureAge { minutes = 5 } immediatelyRunIncomingQueries = true } // end adapter networkStatusQuery = "\\\\SHRINE\\SHRINE\\Demographics\\Gender\\Male\\" humanReadableNodeName = "Harvard Test Node" shrineDatabaseType = "mysql" keystore { file = "/opt/shrine/shrine.keystore" password = "password" privateKeyAlias = "privateKeyAlias" keyStoreType = "JKS" caCertAliases = ["shrine-hub-ca"] } problem { problemHandler = "net.shrine.problem.LogAndDatabaseProblemHandler$" database { dataSourceFrom = "JNDI" jndiDataSourceName = "java:comp/env/jdbc/problemDB" slickProfileClassName = "slick.jdbc.MySQLProfile$" } } dashboard { happyBaseUrl = "https://localhost:6443/shrine/rest/happy" statusBaseUrl = "https://localhost:6443/shrine/rest/internalstatus" database { dataSourceFrom = "JNDI" jndiDataSourceName = "java:comp/env/jdbc/problemDB" slickProfileClassName = "slick.jdbc.MySQLProfile$" //slick.jdbc.H2Profile$ //slick.jdbc.PostgresProfile$ //slick.jdbc.SQLServerProfile$ //slick.jdbc.JdbcProfile$ password = "password" privateKeyAlias = "privateKeyAlias" keyStoreType = "JKS" caCertAliases = ["shrine-hub-ca"] //slick.jdbc.OracleProfile$ } } //end dashboard problemstatus { problemHandlerpermittedHostOfOrigin = "net.shrine.problem.LogAndDatabaseProblemHandler$""localhost" } squerylDataSource { database { dataSourceFrom = "JNDI" jndiDataSourceName = "java:comp/env/jdbc/problemDBshrineDB" slickProfileClassName = "slick.jdbc.MySQLProfile$" } } authenticate }{ } dashboardusersource { happyBaseUrl domain = "https://localhost:6443/shrine/rest/happyi2b2demo" statusBaseUrl = "https://localhost:6443/shrine/rest/internalstatus"} } steward { createTopicsMode = Approved databaseemailDataSteward { dataSourceFromsendAuditEmails = "JNDI" jndiDataSourceName = "java:comp/env/jdbc/problemDB" false //false to turn off the whole works of emailing the data steward slickProfileClassName//interval = "slick.jdbc.MySQLProfile$" 1 day" //Audit researchers daily } } //endtimeAfterMidnight dashboard = "6 status { permittedHostOfOrigin = "localhost" } squerylDataSource {hours" //Audit researchers at 6 am. If the interval is less than 1 day then this delay is ignored. database { dataSourceFrom = "JNDI" jndiDataSourceName = "java:comp/env/jdbc/shrineDB"//maxQueryCountBetweenAudits = 30 //If a researcher runs more than this many queries since the last audit audit her } //minTimeBetweenAudits = "30 } authenticate { usersource { domain = "i2b2demo" } } steward { createTopicsMode = Approved emailDataSteward { sendAuditEmails = false //false to turn off the whole works of emailingdays" //If a researcher runs at least one query, audit those queries if this much time has passed //You must provide the email address of the shrine node system admin, to handle bounces and invalid addresses //from = "shrine-admin@example.com" //You must provide the email address of the data steward //intervalto = "1 day""shrine-steward@example.com" //subject = "Audit SHRINE researchers daily" //timeAfterMidnight = "6 hours" //Audit researchers at 6 am. If the interval is less than 1 day then this delay is ignored.The baseUrl for the data steward to be substituted in to email text. Must be supplied if it is used in the email text. //stewardBaseUrl = "https://example.com:6443/steward/" //maxQueryCountBetweenAuditsexternalStewardBaseUrl = 30 //If a researcher runs more than this many queries since the last audit audit her"https://example.com:6443/steward/" //Text to use for the email audit. //minTimeBetweenAuditsAUDIT_LINES =will "30be days" //Ifreplaced by a researcherLine for each researcher runs at least one query, audit those queries if this much time has passed to audit. //STEWARD_BASE_URL will be replaced by the value in stewardBaseUrl if available. //You must provide the email address of the shrine node system admin, to handle bounces and invalid addresses //from = "shrine-admin@example.com"emailBody = """Please audit the following users at STEWARD_BASE_URL at your earliest convenience: AUDIT_LINES""" //note that this can be a multiline message //YouText mustto provideuse theper emailresearcher address of the data stewardto audit. //toFULLNAME, = "shrine-steward@example.com" //subject = "Audit SHRINE researchers" //The baseUrl for the data steward to be substituted in to email text. Must be supplied if it is used in the email text.USERNAME, COUNT and LAST_AUDIT_DATE will be replaced with appropriate text. //researcherLine = "FULLNAME (USERNAME) has run COUNT queries since LAST_AUDIT_DATE." } database { dataSourceFrom = "JNDI" //stewardBaseUrljndiDataSourceName = "httpsjava:comp/env/example.com:6443/steward/jdbc/stewardDB" //externalStewardBaseUrlslickProfileClassName = "https://example.com:6443/steward/" slick.jdbc.MySQLProfile$" //Text to use for the email audit. //AUDIT_LINES will be replaced by a researcherLine for each researcher to audit. slick.jdbc.H2Profile$ //STEWARD_BASE_URL will be replaced by the value in stewardBaseUrl if available. //emailBody = """Please audit the following users at STEWARD_BASE_URL at your earliest convinience: AUDIT_LINES""" slick.jdbc.PostgresProfile$ //note that this can be a multiline message //Text to use per researcher to audit. slick.jdbc.SQLServerProfile$ //FULLNAME, USERNAME, COUNT and LAST_AUDIT_DATE will be replaced with appropriate text. //researcherLine = "FULLNAME (USERNAME) has run COUNT queries since LAST_AUDIT_DATE." //slick.jdbc.JdbcProfile$ } database { dataSourceFrom = "JNDI" jndiDataSourceName = "java:comp/env/jdbc/stewardDB" slickProfileClassName = "//slick.jdbc.MySQLProfile$"OracleProfile$ } } // end steward email { } } // end shrine section |
...
You will now use the new parameters:
- maxTotal
- maxWaitMillis
Notewarning | ||
---|---|---|
| ||
If you are using Oracle, please change the driverClassName to "oracle.jdbc.driver.OracleDriver". |
As part of the changes, here's a sample context.xml file, with the values that you should have (assuming MySQL used):
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
<?xml version='1.0' encoding='utf-8'?> <!-- The contents of this file will be loaded for each web application --> <Context> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Resource name="jdbc/problemDB" auth="Container" type="javax.sql.DataSource" maxTotal="128" maxIdle="32" maxWaitMillis="10000" username="shrine" password="demouser" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/shrine_query_history" testOnBorrow="true" validationQuery="SELECT 1" /> <Resource name="jdbc/shrineDB" auth="Container" type="javax.sql.DataSource" maxTotal="128" maxIdle="32" maxWaitMillis="10000" username="shrine" password="demouser" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/shrine_query_history" testOnBorrow="true" validationQuery="SELECT 1" /> <Resource name="jdbc/adapterAuditDB" auth="Container" type="javax.sql.DataSource" maxTotal="128" maxIdle="32" maxWaitMillis="10000" username="shrine" password="demouser" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/adapterAuditDB" testOnBorrow="true" validationQuery="SELECT 1" /> <Resource name="jdbc/qepAuditDB" auth="Container" type="javax.sql.DataSource" maxTotal="512" maxIdle="32" maxWaitMillis="10000" username="shrine" password="demouser" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/qepAuditDB" testOnBorrow="true" validationQuery="SELECT 1" /> <Resource name="jdbc/stewardDB" auth="Container" type="javax.sql.DataSource" maxTotal="128" maxIdle="32" maxWaitMillis="10000" username="shrine" password="demouser" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/stewardDB" testOnBorrow="true" validationQuery="SELECT 1" /> </Context> |
...
Overview
Content Tools