Trouble with a connector in our test server. Recently changed the password on our test server, and now one of our connector scripts don't work (written by a previous dev so unsure if there are any hidden dependencies/config files).
The connector wants to null all of the data in one table of the BDM so that it can import the data from an external DB without any duplicates.
We are able to connect to Bonita BDM DB over MySQL Workbench, and all necessary IPs have been allowed to connect to the SQL instance. We are positive that usernames, passwords, IP and port are correct in DB properties and connector files on the server. The BDM is also completely up to date without faults. The connector works on the run server, where the only difference is the recently changed password.
The exact error, when we run the connector function, is 'Error when starting case'. This then extends in the log as com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
I will post the full log at the bottom of this question which also includes the script which is failing to retrieve the data.
Any and all advice is welcome. Thanks in advance.
Server log:
2021-11-29 08:55:44.698 +0000 SEVERE: org.restlet.Component.BonitaRestletApplication Exception or error caught in server resource org.bonitasoft.engine.bpm.process.ProcessExecutionException: USERNAME="" | org.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceCreationException: PROCESS_DEFINITION_ID=5273530571904918510 | PROCESS_NAME=retrieveData | PROCESS_VERSION=1.0 | org.bonitasoft.engine.expression.exception.SExpressionEvaluationException: Groovy script throws an exception of type class com.mysql.cj.jdbc.exceptions.CommunicationsException with message = Communications link failu re The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. Expression : SExpressionImpl [name=init_customer(), content=import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; def customersList = [] // Database Connection - Uncomment the one you want to use based on the environment you are working on // JDBC driver name and database URL - H2 //String JDBC_DRIVER = "org.h2.Driver"; //String DB_URL = "jdbc:h2:file:C:\\BonitaStudioCommunity-7.10.0\\workspace\\My project\\h2_database/business_data.db;AUTO_SERVER=TRUE"; //String USER = "sa"; //db user //String PASS = ""; // db pwd // JDBC driver name and database URL - MySQL test server String JDBC_DRIVER = " "; String DB_URL = " "; String USER = "root2"; String PASS = "---"; // JDBC driver name and database URL - MySQL runtime server // String JDBC_DRIVER = " "; // String DB_URL = " "; // String USER = "root"; // String PASS = "---"; Connection conn = null; Statement stmt = null; // STEP 1: Register JDBC driver Class.forName(JDBC_DRIVER); //STEP 2: Open a connection conn = DriverManager.getConnection(DB_URL,USER,PASS); //STEP 3: Execute a query stmt = conn.createStatement(); String sql = "DELETE FROM CUSTOMER"; stmt.executeUpdate(sql); // STEP 4: Clean-up environment stmt.close(); conn.close(); return customersList; , returnType=java.util.List, dependencies=[], expressionKind=ExpressionKind [interpreter=GROOVY, type=TYPE_READ_ONLY_SCRIPT]] at org.bonitasoft.engine.api.impl.ProcessStarter.start(ProcessStarter.java:113) at org.bonitasoft.engine.api.impl.ProcessAPIImpl.startProcessWithInputs(ProcessAPIImpl.java:2974) at org.bonitasoft.engine.api.impl.ProcessAPIImpl.startProcessWithInputs(ProcessAPIImpl.java:2968) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeAPI(ServerAPIImpl.java:399) at org.bonitasoft.engine.api.impl.ServerAPIImpl.lambda$invokeAPIInTransaction$1(ServerAPIImpl.java:371) at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.executeInTransaction(JTATransactionServiceImpl.java:274) at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeAPIInTransaction(ServerAPIImpl.java:368) at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeAPI(ServerAPIImpl.java:256) at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeMethod(ServerAPIImpl.java:120) at org.bonitasoft.engine.api.impl.ClientInterceptor.invoke(ClientInterceptor.java:82) at com.sun.proxy.$Proxy89.startProcessWithInputs(Unknown Source) at org.bonitasoft.web.rest.server.api.bpm.process.ProcessInstantiationResource.instantiateProcess(ProcessInstantiationResource.java:73) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.restlet.resource.ServerResource.doHandle(ServerResource.java:508) at org.restlet.resource.ServerResource.post(ServerResource.java:1341) at org.restlet.resource.ServerResource.doHandle(ServerResource.java:606) at org.bonitasoft.web.rest.server.api.resource.CommonResource.doHandle(CommonResource.java:206) at org.restlet.resource.ServerResource.doNegotiatedHandle(ServerResource.java:662) at org.restlet.resource.ServerResource.doConditionalHandle(ServerResource.java:348) at org.restlet.resource.ServerResource.handle(ServerResource.java:1020) at org.restlet.resource.Finder.handle(Finder.java:236) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.routing.Router.doHandle(Router.java:422) at org.restlet.routing.Router.handle(Router.java:641) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java:140) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.engine.CompositeHelper.handle(CompositeHelper.java:202) at org.restlet.engine.application.ApplicationHelper.handle(ApplicationHelper.java:77) at org.restlet.Application.handle(Application.java:385) at org.bonitasoft.web.rest.server.BonitaRestletApplication.handle(BonitaRestletApplication.java:191) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.routing.Router.doHandle(Router.java:422) at org.restlet.routing.Router.handle(Router.java:641) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.routing.Router.doHandle(Router.java:422) at org.restlet.routing.Router.handle(Router.java:641) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.engine.CompositeHelper.handle(CompositeHelper.java:202) at org.restlet.Component.handle(Component.java:408) at org.restlet.Server.handle(Server.java:507) at org.restlet.engine.connector.ServerHelper.handle(ServerHelper.java:63) at org.restlet.engine.adapter.HttpServerHelper.handle(HttpServerHelper.java:143) at org.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:1117) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.bonitasoft.console.common.server.login.filter.AbstractAuthorizationFilter.doFilter(AbstractAuthorizationFilter.java:61) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.bonitasoft.console.common.server.filter.NoCacheFilter.doFilter(NoCacheFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:728) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:470) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:395) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:316) at org.bonitasoft.console.common.server.page.CustomPageRequestModifier.forwardIfRequestIsAuthorized(CustomPageRequestModifier.java:61) at org.bonitasoft.console.common.server.page.PageServlet.service(PageServlet.java:91) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.bonitasoft.console.common.server.filter.CacheFilter.proceedWithFiltering(CacheFilter.java:74) at org.bonitasoft.console.common.server.filter.ExcludingPatternFilter.doFilter(ExcludingPatternFilter.java:37) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.bonitasoft.console.common.server.filter.ExcludingPatternFilter.excludePatternFiltering(ExcludingPatternFilter.java:42) at org.bonitasoft.console.common.server.filter.ExcludingPatternFilter.doFilter(ExcludingPatternFilter.java:35) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.bonitasoft.console.common.server.login.filter.AbstractAuthorizationFilter.doFilter(AbstractAuthorizationFilter.java:61) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:810) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: org.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceCreationException: PROCESS_DEFINITION_ID=5273530571904918510 | PROCESS_NAME=retrieveData | PROCESS_VERSION=1.0 | org.bonitasoft.engine.expression.excepti on.SExpressionEvaluationException: Groovy script throws an exception of type class com.mysql.cj.jdbc.exceptions.CommunicationsException with message = Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. Expression : SExpressionImpl [name=init_customer(), content=import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; def customersList = [] // Database Connection - Uncomment the one you want to use based on the environment you are working on // JDBC driver name and database URL - H2 //String JDBC_DRIVER = "org.h2.Driver"; //String DB_URL = "jdbc:h2:file:C:\\BonitaStudioCommunity-7.10.0\\workspace\\My project\\h2_database/business_data.db;AUTO_SERVER=TRUE"; //String USER = "sa"; //db user //String PASS = ""; // db pwd // JDBC driver name and database URL - MySQL test server String JDBC_DRIVER = " "; String DB_URL = " "; String USER = "root2"; String PASS = "---"; // JDBC driver name and database URL - MySQL runtime server // String JDBC_DRIVER = " "; // String DB_URL = " "; // String USER = "root"; // String PASS = "---"; Connection conn = null; Statement stmt = null; // STEP 1: Register JDBC driver Class.forName(JDBC_DRIVER); //STEP 2: Open a connection conn = DriverManager.getConnection(DB_URL,USER,PASS); //STEP 3: Execute a query stmt = conn.createStatement(); String sql = "DELETE FROM CUSTOMER"; stmt.executeUpdate(sql); // STEP 4: Clean-up environment stmt.close(); conn.close(); return customersList; , returnType=java.util.List, dependencies=[], expressionKind=ExpressionKind [interpreter=GROOVY, type=TYPE_READ_ONLY_SCRIPT]] at org.bonitasoft.engine.execution.ProcessExecutorImpl.start(ProcessExecutorImpl.java:854) at org.bonitasoft.engine.execution.ProcessExecutorImpl.start(ProcessExecutorImpl.java:797) at org.bonitasoft.engine.api.impl.ProcessStarter.start(ProcessStarter.java:132) at org.bonitasoft.engine.api.impl.ProcessStarter.start(ProcessStarter.java:103) ... 123 more Caused by: org.bonitasoft.engine.expression.exception.SExpressionEvaluationException: Groovy script throws an exception of type class com.mysql.cj.jdbc.exceptions.CommunicationsException with message = Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. Expression : SExpressionImpl [name=init_customer(), content=import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; def customersList = [] // Database Connection - Uncomment the one you want to use based on the environment you are working on // JDBC driver name and database URL - H2 //String JDBC_DRIVER = "org.h2.Driver"; //String DB_URL = "jdbc:h2:file:C:\\BonitaStudioCommunity-7.10.0\\workspace\\My project\\h2_database/business_data.db;AUTO_SERVER=TRUE"; //String USER = "sa"; //db user //String PASS = ""; // db pwd // JDBC driver name and database URL - MySQL test server String JDBC_DRIVER = " "; String DB_URL = " "; String USER = "root2"; String PASS = "---"; // JDBC driver name and database URL - MySQL runtime server // String JDBC_DRIVER = " "; // String DB_URL = " "; // String USER = "root"; // String PASS = "---"; Connection conn = null; Statement stmt = null; // STEP 1: Register JDBC driver Class.forName(JDBC_DRIVER); //STEP 2: Open a connection conn = DriverManager.getConnection(DB_URL,USER,PASS); //STEP 3: Execute a query stmt = conn.createStatement(); String sql = "DELETE FROM CUSTOMER"; stmt.executeUpdate(sql); // STEP 4: Clean-up environment stmt.close(); conn.close(); return customersList; , returnType=java.util.List, dependencies=[], expressionKind=ExpressionKind [interpreter=GROOVY, type=TYPE_READ_ONLY_SCRIPT]] at org.bonitasoft.engine.expression.impl.GroovyScriptExpressionExecutorCacheStrategy.evaluate(GroovyScriptExpressionExecutorCacheStrategy.java:160) at org.bonitasoft.engine.expression.impl.ExpressionServiceImpl.evaluate(ExpressionServiceImpl.java:91) at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateExpressionWithResolvedDependencies(ExpressionResolverServiceImpl.java:213) at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateExpressionsFlatten(ExpressionResolverServiceImpl.java:120) at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluate(ExpressionResolverServiceImpl.java:83) at org.bonitasoft.engine.execution.ProcessExecutorImpl.initializeMultipleBusinessDataIds(ProcessExecutorImpl.java:454) at org.bonitasoft.engine.execution.ProcessExecutorImpl.initializeBusinessData(ProcessExecutorImpl.java:426) at org.bonitasoft.engine.execution.ProcessExecutorImpl.initialize(ProcessExecutorImpl.java:384) at org.bonitasoft.engine.execution.ProcessExecutorImpl.start(ProcessExecutorImpl.java:839) ... 126 more Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835) at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228) at java_sql_DriverManager$getConnection.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:144) at BScript1.run(BScript1.groovy:71) at org.bonitasoft.engine.expression.impl.GroovyScriptExpressionExecutorCacheStrategy.evaluate(GroovyScriptExpressionExecutorCacheStrategy.java:141) ... 134 more Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at jdk.internal.reflect.GeneratedConstructorAccessor140.newInstance(Unknown Source) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151) at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167) at com.mysql.cj.protocol.a.NativeProtocol.negotiateSSLConnection(NativeProtocol.java:361) at com.mysql.cj.protocol.a.NativeAuthenticationProvider.negotiateSSLConnection(NativeAuthenticationProvider.java:777) at com.mysql.cj.protocol.a.NativeAuthenticationProvider.proceedHandshakeWithPluggableAuthentication(NativeAuthenticationProvider.java:486) at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:202) at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1449) at com.mysql.cj.NativeSession.connect(NativeSession.java:165) at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:955) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:825) ... 145 more Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate) at java.base/sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:170) at java.base/sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:98) at java.base/sun.security.ssl.TransportContext.kickstart(TransportContext.java:221) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:433) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:411) at com.mysql.cj.protocol.ExportControlled.performTlsHandshake(ExportControlled.java:315) at com.mysql.cj.protocol.StandardSocketFactory.performTlsHandshake(StandardSocketFactory.java:188) at com.mysql.cj.protocol.a.NativeSocketConnection.performTlsHandshake(NativeSocketConnection.java:99) at com.mysql.cj.protocol.a.NativeProtocol.negotiateSSLConnection(NativeProtocol.java:352) ... 152 more