Embedded Apache Derby

Apache Derby embedded DB is used with default CloverETL Server installation. It uses working directory as storage directory for data persistence by default. This may be problem on some systems. In case any problems with connection to Derby DB, we recommend to configure connection to external DB or at least specify Derby home directory:

Set system property derby.system.home to set path which is accessible for application server. You can specify this system property by this JVM execution parameter:

-Dderby.system.home=[derby_DB_files_root]

For modification Tomcat context params, add to context config file (and modify according to your credentials):

<Parameter name="jdbc.driverClassName" value="org.apache.derby.jdbc.EmbeddedDriver" override="false" />
<Parameter name="jdbc.url" value="jdbc:derby:databases/cloverDb;create=true" override="false" />
<Parameter name="jdbc.username" value="" override="false" />
<Parameter name="jdbc.password" value="" override="false" />
<Parameter name="jdbc.dialect" value="org.hibernate.dialect.DerbyDialect" override="false" />

Or If you use properties file for configuration:

jdbc.driverClassName=org.apache.derby.jdbc.EmbeddedDriver
jdbc.url=jdbc:derby:databases/cloverDb;create=true
jdbc.username=
jdbc.password=
jdbc.dialect=org.hibernate.dialect.DerbyDialect

Take a closer look at jdbc.url parameter. Part "databases/cloverDb" means subdirectory for DB data. This subdirectory will be created in directory, which is set as derby.system.home or in working directory if "derby.system.home" is not set. Value "databases/cloverDb" is default value, which may be changed.