A Job design is shown below, using a tSetKeystore component to set the keystore file in the preJob, followed by using a tMysqlConnection to establish a MYSQL connection. However, MYSQL fails to connect.
Nevertheless, by changing the order of the components as demonstrated below, the MYSQL connection is successful.
Resolution
To address this issue, you can choose from the following solutions without altering the order of the tSetKeyStore and tMysqlConnection components.
Disable useSSL parameter
Add the following parameter to the Additional JDBC Parameters Field of tMysqlConnection:
Isolate the MYSQL connection in a separate child Job
To isolate the MYSQL connection, create a separate subJob. Use a tRunJob to execute the subJob and ensure the 'Use an independent process to run subJob' option is checked. The Job design is outlined below.
Cause
tSetKeyStore sets values for javax.net.ssl properties, thereby affecting the subsequent components. Most recent MySQL versions use SSL connections by default. Since the Java SSL environment has been modified, the MySQL JDBC driver inherits these changes from tSetKeyStore, which can potentially impact the connection.