Hello,
I am trying to setup connection between KNOWAGE-Oracle database. I follow the manual installation guide. Here are the following steps
1. Run Script ORA_create.sql ORA_create_quartz_schema.sql
2. Add .Jar file into CATALINA_HOME/lib
3. Update CATALINA_HOME/conf/server.xml to define connection towards metadata database
4. Edit the TOMCAT_HOME/conf/server.xml and add the information related to the database containing business data
5. configure each knowage*/META-INF/context.xml
Here is my server.xml file after update:
<!-- Global JNDI resources
Documentation at /docs/jndi-resources-howto.html
-->
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
<Environment name="resource_path" type="java.lang.String" value="C:\KNOWAGE_1\Knowage-Server-CE\resources"/>
<Environment name="service_url" type="java.lang.String" value="http://localhost:8080/knowage"/>
<Environment name="sso_class" type="java.lang.String" value="it.eng.spagobi.services.common.JWTSsoService"/>
<Environment description="HMAC key" name="hmacKey" type="java.lang.String" value="KhzPyY0M"/>
<Environment description="File for security encryption location" name="password_encryption_secret" type="java.lang.String" value="C:\KNOWAGE_1\Knowage-Server-CE/conf/passwordEncryptionSecret"/>
<Resource auth="Container" factory="de.myfoo.commonj.work.FooWorkManagerFactory" maxThreads="5" name="wm/SpagoWorkManager" type="commonj.work.WorkManager"/>
<Resource auth="Container" driverClassName="org.mariadb.jdbc.Driver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" logAbandoned="true" maxActive="20" maxIdle="4" maxWait="-1" minEvictableIdleTimeMillis="60000" name="jdbc/knowage" password="root" removeAbandoned="true" removeAbandonedTimeout="3600" testOnReturn="true" testWhileIdle="true" timeBetweenEvictionRunsMillis="10000" type="javax.sql.DataSource" url="jdbc:mariadb://localhost:3303/knowage_ce" username="root"/>
<Resource name="jdbc/knowage" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@opptcbi1:1521:mtsprod" username="knownge_bi_meta" password="XXXX" testOnBorrow="true" validationQuery="select 'a' from dual" initialSize="5" maxActive="50" maxIdle="12" minIdle="8"/>
<Resource name="jdbc/ems" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@opptcbi1:1521:mtsprod" username="XXX" password="tXXX!" testOnBorrow="true" validationQuery="select 'a' from dual" initialSize="5" maxActive="50" maxIdle="12" minIdle="8"/>
<Resource auth="Container" driverClassName="org.mariadb.jdbc.Driver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" logAbandoned="true" maxActive="20" maxIdle="4" maxWait="-1" minEvictableIdleTimeMillis="60000" name="jdbc/ds_cache" password="root" removeAbandoned="true" removeAbandonedTimeout="3600" testOnReturn="true" testWhileIdle="true" timeBetweenEvictionRunsMillis="10000" type="javax.sql.DataSource" url="jdbc:mariadb://localhost:3303/ds_cache" username="root"/>
</GlobalNamingResources>
Here is context.xml
<Context path="/knowage">
<CookieProcessor sameSiteCookies="strict"/>
<!-- <Loader delegate="true"/> -->
<ResourceLink global="jdbc/foodmart" name="jdbc/foodmart" type="javax.sql.DataSource"/>
<ResourceLink global="jdbc/foodmart_mysql" name="jdbc/foodmart_mysql" type="javax.sql.DataSource"/>
<ResourceLink global="jdbc/foodmart_demo" name="jdbc/foodmart_demo" type="javax.sql.DataSource"/>
<ResourceLink global="jdbc/knowage" name="jdbc/knowage" type="javax.sql.DataSource"/>
<ResourceLink global="jdbc/ems" name="jdbc/ems" type="javax.sql.DataSource"/>
<ResourceLink global="jdbc/ds_cache" name="jdbc/ds_cache" type="javax.sql.DataSource"/>
<ResourceLink global="resource_path" name="resource_path" type="java.lang.String"/>
<ResourceLink global="sso_class" name="sso_class" type="java.lang.String"/>
<ResourceLink global="hmacKey" name="hmacKey" type="java.lang.String"/>
<ResourceLink global="service_url" name="service_url" type="java.lang.String"/>
<ResourceLink factory="de.myfoo.commonj.work.FooWorkManagerFactory" global="wm/SpagoWorkManager" name="wm/SpagoWorkManager" type="commonj.work.WorkManager"/>
<ResourceLink global="password_encryption_secret" name="password_encryption_secret" type="java.lang.String"/>
<ResourceLink global="jdbc/foodmart" name="jdbc/foodmart" type="javax.sql.DataSource"/>
</Context>
After restart the server, i got "HTTPStatus 404-Not found". And Tomcat log has following error:
19-Aug-2021 12:33:34.215 SEVERE [main] org.apache.tomcat.jdbc.pool.ConnectionPool.init Unable to create initial connections of pool.
java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=localhost)(port=3303)(type=master) : Connection refused: connect.
I need help to resolve this issue.