[
https://issues.apache.org/jira/browse/AMQ-6837?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17359776#comment-17359776
]
Simon Lundstrom commented on AMQ-6837:
--------------------------------------
I updated OP with the bean configuration for the MySQL datasource. Let me know
if you need more (not that there is much more but anyway).
The CA exists in the keystore that ships with the JDK. But the Intermediate CA
is not in the default JKS. The Intermediate CA is though in the
{{/etc/ssl/certs/java/cacerts}} one since we put it there.
Then either we are doing something wrong in our ActiveMQ datasource
configuration *or* there is something we're doing in the sample code that isn't
done in how ActiveMQ sets up the datasource?
> Intermediate CA certificate required in trustStore
> --------------------------------------------------
>
> Key: AMQ-6837
> URL: https://issues.apache.org/jira/browse/AMQ-6837
> Project: ActiveMQ
> Issue Type: Bug
> Components: JDBC
> Affects Versions: 5.15.1
> Environment: {code}
> # lsb_release -a
> No LSB modules are available.
> Distributor ID: Ubuntu
> Description: Ubuntu 14.04.5 LTS
> Release: 14.04
> Codename: trusty
> # java -version
> java version "1.8.0_112"
> Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
> Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)
> {code}
> Reporter: Simon Lundstrom
> Assignee: Matt Pavlovich
> Priority: Major
>
> When configuring ActiveMQ to use JDBC and MySQL with SSL the trustStore
> configured must have the intermediate CA certificate in the keystore.
> Our certificate uses an intermediate CA, so the cerificate looks like this:
> mysql.server -> Intermediate CA -> Root CA.
> When using JDBC and/or DBCP directly, like in our example code below, you can
> connect to MySQL by using only the Root CA in your trustStore.
> ActiveMQ requires both the Root CA *and* the Intermediate CA.
> Example code:
> {code}
> import java.io.IOException;
> import java.sql.Connection;
> import java.sql.DriverManager;
> import java.sql.ResultSet;
> import java.sql.SQLException;
> import java.sql.Statement;
> import org.apache.commons.dbcp2.BasicDataSource;
> import javax.sql.DataSource;
> public class Launcher {
> public static void main(String[] args) throws SQLException,
> ClassNotFoundException {
> StringBuffer sb = new
> StringBuffer("jdbc:mysql://hostname/database?useSSL=true&");
>
> sb.append("useJDBCCompliantTimezoneShift=true&requireSSL=true&verifyServerCertificate=true&connectTimeout=5000&socketTimeout=5000&queryTimeoutKillsConnection=true&");
> sb.append("poolPreparedStatements=true&validationQuery=select 1&");
> // sb.append("trustCertificateKeyStorePassword=changeit&");
> //
> sb.append("trustCertificateKeyStoreUrl=file:///etc/ssl/certs/java/cacerts&");
> sb.append("user=user&password=password");
> DataSource dataSource = setupDataSource(sb.toString());
> Connection c = dataSource.getConnection();
> Statement st = c.createStatement();
> ResultSet rs = st.executeQuery("SELECT 1 as id");
> while (rs.next()) {
> System.out.println(rs.getInt("id"));
> }
> rs.close(); st.close(); c.close();
> }
> public static DataSource setupDataSource(String connectURI) {
> BasicDataSource ds = new BasicDataSource();
> ds.setDriverClassName("com.mysql.jdbc.Driver");
> ds.setUrl(connectURI);
> return ds;
> }
> }
> {code}
> Stacktrace, in JSON, from ActiveMQ:
> {code}
> {
> "endOfBatch": false,
> "level": "WARN",
> "loggerFqcn": "org.slf4j.impl.Log4jLoggerAdapter",
> "loggerName": "org.apache.activemq.store.jdbc.JDBCPersistenceAdapter",
> "message": "Could not get JDBC connection: Cannot create
> PoolableConnectionFactory (Communications link failure\n\nThe last packet
> successfully received from the server was 760 milliseconds ago. The last
> packet sent successfully to the server was 755 milliseconds ago.)",
> "thread": "main",
> "thrown": {
> "cause": {
> "cause": {
> "commonElementCount": 23,
> "extendedStackTrace": [
> {
> "class": "sun.security.ssl.Alerts",
> "exact": false,
> "file": "Alerts.java",
> "line": 192,
> "location": "?",
> "method": "getSSLException",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.security.ssl.Alerts",
> "exact": false,
> "file": "Alerts.java",
> "line": 154,
> "location": "?",
> "method": "getSSLException",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.security.ssl.SSLSocketImpl",
> "exact": false,
> "file": "SSLSocketImpl.java",
> "line": 2023,
> "location": "?",
> "method": "recvAlert",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.security.ssl.SSLSocketImpl",
> "exact": false,
> "file": "SSLSocketImpl.java",
> "line": 1125,
> "location": "?",
> "method": "readRecord",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.security.ssl.SSLSocketImpl",
> "exact": false,
> "file": "SSLSocketImpl.java",
> "line": 1769,
> "location": "?",
> "method": "waitForClose",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.security.ssl.HandshakeOutStream",
> "exact": false,
> "file": "HandshakeOutStream.java",
> "line": 124,
> "location": "?",
> "method": "flush",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.security.ssl.Handshaker",
> "exact": false,
> "file": "Handshaker.java",
> "line": 1083,
> "location": "?",
> "method": "sendChangeCipherSpec",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.security.ssl.ClientHandshaker",
> "exact": false,
> "file": "ClientHandshaker.java",
> "line": 1222,
> "location": "?",
> "method": "sendChangeCipherAndFinish",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.security.ssl.ClientHandshaker",
> "exact": false,
> "file": "ClientHandshaker.java",
> "line": 1134,
> "location": "?",
> "method": "serverHelloDone",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.security.ssl.ClientHandshaker",
> "exact": false,
> "file": "ClientHandshaker.java",
> "line": 348,
> "location": "?",
> "method": "processMessage",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.security.ssl.Handshaker",
> "exact": false,
> "file": "Handshaker.java",
> "line": 979,
> "location": "?",
> "method": "processLoop",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.security.ssl.Handshaker",
> "exact": false,
> "file": "Handshaker.java",
> "line": 914,
> "location": "?",
> "method": "process_record",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.security.ssl.SSLSocketImpl",
> "exact": false,
> "file": "SSLSocketImpl.java",
> "line": 1062,
> "location": "?",
> "method": "readRecord",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.security.ssl.SSLSocketImpl",
> "exact": false,
> "file": "SSLSocketImpl.java",
> "line": 1375,
> "location": "?",
> "method": "performInitialHandshake",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.security.ssl.SSLSocketImpl",
> "exact": false,
> "file": "SSLSocketImpl.java",
> "line": 1403,
> "location": "?",
> "method": "startHandshake",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.security.ssl.SSLSocketImpl",
> "exact": false,
> "file": "SSLSocketImpl.java",
> "line": 1387,
> "location": "?",
> "method": "startHandshake",
> "version": "1.8.0_112"
> },
> {
> "class": "com.mysql.jdbc.ExportControlled",
> "exact": false,
> "file": "ExportControlled.java",
> "line": 95,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "transformSocketToSSLSocket",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.MysqlIO",
> "exact": false,
> "file": "MysqlIO.java",
> "line": 4793,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "negotiateSSLConnection",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.MysqlIO",
> "exact": false,
> "file": "MysqlIO.java",
> "line": 1635,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method":
> "proceedHandshakeWithPluggableAuthentication",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.MysqlIO",
> "exact": false,
> "file": "MysqlIO.java",
> "line": 1207,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "doHandshake",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.ConnectionImpl",
> "exact": false,
> "file": "ConnectionImpl.java",
> "line": 2254,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "coreConnect",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.ConnectionImpl",
> "exact": false,
> "file": "ConnectionImpl.java",
> "line": 2285,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "connectOneTryOnly",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.ConnectionImpl",
> "exact": false,
> "file": "ConnectionImpl.java",
> "line": 2084,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "createNewIO",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.ConnectionImpl",
> "exact": false,
> "file": "ConnectionImpl.java",
> "line": 795,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "<init>",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.JDBC4Connection",
> "exact": false,
> "file": "JDBC4Connection.java",
> "line": 44,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "<init>",
> "version": "5.1.37"
> },
> {
> "class": "sun.reflect.NativeConstructorAccessorImpl",
> "exact": false,
> "file": "NativeConstructorAccessorImpl.java",
> "line": -2,
> "location": "?",
> "method": "newInstance0",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.reflect.NativeConstructorAccessorImpl",
> "exact": false,
> "file": "NativeConstructorAccessorImpl.java",
> "line": 62,
> "location": "?",
> "method": "newInstance",
> "version": "1.8.0_112"
> },
> {
> "class":
> "sun.reflect.DelegatingConstructorAccessorImpl",
> "exact": false,
> "file": "DelegatingConstructorAccessorImpl.java",
> "line": 45,
> "location": "?",
> "method": "newInstance",
> "version": "1.8.0_112"
> },
> {
> "class": "java.lang.reflect.Constructor",
> "exact": false,
> "file": "Constructor.java",
> "line": 423,
> "location": "?",
> "method": "newInstance",
> "version": "1.8.0_112"
> },
> {
> "class": "com.mysql.jdbc.Util",
> "exact": false,
> "file": "Util.java",
> "line": 404,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "handleNewInstance",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.ConnectionImpl",
> "exact": false,
> "file": "ConnectionImpl.java",
> "line": 400,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "getInstance",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.NonRegisteringDriver",
> "exact": false,
> "file": "NonRegisteringDriver.java",
> "line": 327,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "connect",
> "version": "5.1.37"
> },
> {
> "class":
> "org.apache.commons.dbcp2.DriverConnectionFactory",
> "exact": false,
> "file": "DriverConnectionFactory.java",
> "line": 39,
> "location": "commons-dbcp2-2.1.1.jar",
> "method": "createConnection",
> "version": "2.1.1"
> },
> {
> "class":
> "org.apache.commons.dbcp2.PoolableConnectionFactory",
> "exact": false,
> "file": "PoolableConnectionFactory.java",
> "line": 256,
> "location": "commons-dbcp2-2.1.1.jar",
> "method": "makeObject",
> "version": "2.1.1"
> },
> {
> "class": "org.apache.commons.dbcp2.BasicDataSource",
> "exact": false,
> "file": "BasicDataSource.java",
> "line": 2304,
> "location": "commons-dbcp2-2.1.1.jar",
> "method": "validateConnectionFactory",
> "version": "2.1.1"
> },
> {
> "class": "org.apache.commons.dbcp2.BasicDataSource",
> "exact": false,
> "file": "BasicDataSource.java",
> "line": 2290,
> "location": "commons-dbcp2-2.1.1.jar",
> "method": "createPoolableConnectionFactory",
> "version": "2.1.1"
> }
> ],
> "localizedMessage": "Received fatal alert: unknown_ca",
> "message": "Received fatal alert: unknown_ca",
> "name": "javax.net.ssl.SSLHandshakeException"
> },
> "commonElementCount": 23,
> "extendedStackTrace": [
> {
> "class": "sun.reflect.NativeConstructorAccessorImpl",
> "exact": false,
> "file": "NativeConstructorAccessorImpl.java",
> "line": -2,
> "location": "?",
> "method": "newInstance0",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.reflect.NativeConstructorAccessorImpl",
> "exact": false,
> "file": "NativeConstructorAccessorImpl.java",
> "line": 62,
> "location": "?",
> "method": "newInstance",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.reflect.DelegatingConstructorAccessorImpl",
> "exact": false,
> "file": "DelegatingConstructorAccessorImpl.java",
> "line": 45,
> "location": "?",
> "method": "newInstance",
> "version": "1.8.0_112"
> },
> {
> "class": "java.lang.reflect.Constructor",
> "exact": false,
> "file": "Constructor.java",
> "line": 423,
> "location": "?",
> "method": "newInstance",
> "version": "1.8.0_112"
> },
> {
> "class": "com.mysql.jdbc.Util",
> "exact": false,
> "file": "Util.java",
> "line": 404,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "handleNewInstance",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.SQLError",
> "exact": false,
> "file": "SQLError.java",
> "line": 983,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "createCommunicationsException",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.ExportControlled",
> "exact": false,
> "file": "ExportControlled.java",
> "line": 110,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "transformSocketToSSLSocket",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.MysqlIO",
> "exact": false,
> "file": "MysqlIO.java",
> "line": 4793,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "negotiateSSLConnection",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.MysqlIO",
> "exact": false,
> "file": "MysqlIO.java",
> "line": 1635,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "proceedHandshakeWithPluggableAuthentication",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.MysqlIO",
> "exact": false,
> "file": "MysqlIO.java",
> "line": 1207,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "doHandshake",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.ConnectionImpl",
> "exact": false,
> "file": "ConnectionImpl.java",
> "line": 2254,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "coreConnect",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.ConnectionImpl",
> "exact": false,
> "file": "ConnectionImpl.java",
> "line": 2285,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "connectOneTryOnly",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.ConnectionImpl",
> "exact": false,
> "file": "ConnectionImpl.java",
> "line": 2084,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "createNewIO",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.ConnectionImpl",
> "exact": false,
> "file": "ConnectionImpl.java",
> "line": 795,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "<init>",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.JDBC4Connection",
> "exact": false,
> "file": "JDBC4Connection.java",
> "line": 44,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "<init>",
> "version": "5.1.37"
> },
> {
> "class": "sun.reflect.NativeConstructorAccessorImpl",
> "exact": false,
> "file": "NativeConstructorAccessorImpl.java",
> "line": -2,
> "location": "?",
> "method": "newInstance0",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.reflect.NativeConstructorAccessorImpl",
> "exact": false,
> "file": "NativeConstructorAccessorImpl.java",
> "line": 62,
> "location": "?",
> "method": "newInstance",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.reflect.DelegatingConstructorAccessorImpl",
> "exact": false,
> "file": "DelegatingConstructorAccessorImpl.java",
> "line": 45,
> "location": "?",
> "method": "newInstance",
> "version": "1.8.0_112"
> },
> {
> "class": "java.lang.reflect.Constructor",
> "exact": false,
> "file": "Constructor.java",
> "line": 423,
> "location": "?",
> "method": "newInstance",
> "version": "1.8.0_112"
> },
> {
> "class": "com.mysql.jdbc.Util",
> "exact": false,
> "file": "Util.java",
> "line": 404,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "handleNewInstance",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.ConnectionImpl",
> "exact": false,
> "file": "ConnectionImpl.java",
> "line": 400,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "getInstance",
> "version": "5.1.37"
> },
> {
> "class": "com.mysql.jdbc.NonRegisteringDriver",
> "exact": false,
> "file": "NonRegisteringDriver.java",
> "line": 327,
> "location": "mysql-connector-java-5.1.37-bin.jar",
> "method": "connect",
> "version": "5.1.37"
> },
> {
> "class":
> "org.apache.commons.dbcp2.DriverConnectionFactory",
> "exact": false,
> "file": "DriverConnectionFactory.java",
> "line": 39,
> "location": "commons-dbcp2-2.1.1.jar",
> "method": "createConnection",
> "version": "2.1.1"
> },
> {
> "class":
> "org.apache.commons.dbcp2.PoolableConnectionFactory",
> "exact": false,
> "file": "PoolableConnectionFactory.java",
> "line": 256,
> "location": "commons-dbcp2-2.1.1.jar",
> "method": "makeObject",
> "version": "2.1.1"
> },
> {
> "class": "org.apache.commons.dbcp2.BasicDataSource",
> "exact": false,
> "file": "BasicDataSource.java",
> "line": 2304,
> "location": "commons-dbcp2-2.1.1.jar",
> "method": "validateConnectionFactory",
> "version": "2.1.1"
> },
> {
> "class": "org.apache.commons.dbcp2.BasicDataSource",
> "exact": false,
> "file": "BasicDataSource.java",
> "line": 2290,
> "location": "commons-dbcp2-2.1.1.jar",
> "method": "createPoolableConnectionFactory",
> "version": "2.1.1"
> }
> ],
> "localizedMessage": "Communications link failure\n\nThe last
> packet successfully received from the server was 760 milliseconds ago. The
> last packet sent successfully to the server was 755 milliseconds ago.",
> "message": "Communications link failure\n\nThe last packet
> successfully received from the server was 760 milliseconds ago. The last
> packet sent successfully to the server was 755 milliseconds ago.",
> "name": "com.mysql.jdbc.exceptions.jdbc4.CommunicationsException"
> },
> "commonElementCount": 0,
> "extendedStackTrace": [
> {
> "class": "org.apache.commons.dbcp2.BasicDataSource",
> "exact": false,
> "file": "BasicDataSource.java",
> "line": 2294,
> "location": "commons-dbcp2-2.1.1.jar",
> "method": "createPoolableConnectionFactory",
> "version": "2.1.1"
> },
> {
> "class": "org.apache.commons.dbcp2.BasicDataSource",
> "exact": false,
> "file": "BasicDataSource.java",
> "line": 2039,
> "location": "commons-dbcp2-2.1.1.jar",
> "method": "createDataSource",
> "version": "2.1.1"
> },
> {
> "class": "org.apache.commons.dbcp2.BasicDataSource",
> "exact": false,
> "file": "BasicDataSource.java",
> "line": 1533,
> "location": "commons-dbcp2-2.1.1.jar",
> "method": "getConnection",
> "version": "2.1.1"
> },
> {
> "class": "org.apache.activemq.store.jdbc.TransactionContext",
> "exact": true,
> "file": "TransactionContext.java",
> "line": 59,
> "location": "activemq-jdbc-store-5.13.4.jar",
> "method": "getConnection",
> "version": "5.13.4"
> },
> {
> "class":
> "org.apache.activemq.store.jdbc.JDBCPersistenceAdapter",
> "exact": true,
> "file": "JDBCPersistenceAdapter.java",
> "line": 449,
> "location": "activemq-jdbc-store-5.13.4.jar",
> "method": "loadAdapter",
> "version": "5.13.4"
> },
> {
> "class":
> "org.apache.activemq.store.jdbc.JDBCPersistenceAdapter",
> "exact": true,
> "file": "JDBCPersistenceAdapter.java",
> "line": 432,
> "location": "activemq-jdbc-store-5.13.4.jar",
> "method": "createAdapter",
> "version": "5.13.4"
> },
> {
> "class":
> "org.apache.activemq.store.jdbc.JDBCPersistenceAdapter",
> "exact": true,
> "file": "JDBCPersistenceAdapter.java",
> "line": 381,
> "location": "activemq-jdbc-store-5.13.4.jar",
> "method": "getAdapter",
> "version": "5.13.4"
> },
> {
> "class":
> "org.apache.activemq.store.jdbc.JDBCPersistenceAdapter",
> "exact": true,
> "file": "JDBCPersistenceAdapter.java",
> "line": 296,
> "location": "activemq-jdbc-store-5.13.4.jar",
> "method": "init",
> "version": "5.13.4"
> },
> {
> "class": "org.apache.activemq.broker.LockableServiceSupport",
> "exact": true,
> "file": "LockableServiceSupport.java",
> "line": 89,
> "location": "activemq-broker-5.13.4.jar",
> "method": "preStart",
> "version": "5.13.4"
> },
> {
> "class": "org.apache.activemq.util.ServiceSupport",
> "exact": true,
> "file": "ServiceSupport.java",
> "line": 54,
> "location": "activemq-client-5.13.4.jar",
> "method": "start",
> "version": "5.13.4"
> },
> {
> "class": "org.apache.activemq.broker.BrokerService",
> "exact": true,
> "file": "BrokerService.java",
> "line": 672,
> "location": "activemq-broker-5.13.4.jar",
> "method": "doStartPersistenceAdapter",
> "version": "5.13.4"
> },
> {
> "class": "org.apache.activemq.broker.BrokerService",
> "exact": true,
> "file": "BrokerService.java",
> "line": 656,
> "location": "activemq-broker-5.13.4.jar",
> "method": "startPersistenceAdapter",
> "version": "5.13.4"
> },
> {
> "class": "org.apache.activemq.broker.BrokerService",
> "exact": true,
> "file": "BrokerService.java",
> "line": 620,
> "location": "activemq-broker-5.13.4.jar",
> "method": "start",
> "version": "5.13.4"
> },
> {
> "class": "org.apache.activemq.console.command.StartCommand",
> "exact": true,
> "file": "StartCommand.java",
> "line": 88,
> "location": "activemq-console-5.13.4.jar",
> "method": "runTask",
> "version": "5.13.4"
> },
> {
> "class":
> "org.apache.activemq.console.command.AbstractCommand",
> "exact": true,
> "file": "AbstractCommand.java",
> "line": 63,
> "location": "activemq-console-5.13.4.jar",
> "method": "execute",
> "version": "5.13.4"
> },
> {
> "class": "org.apache.activemq.console.command.ShellCommand",
> "exact": true,
> "file": "ShellCommand.java",
> "line": 154,
> "location": "activemq-console-5.13.4.jar",
> "method": "runTask",
> "version": "5.13.4"
> },
> {
> "class":
> "org.apache.activemq.console.command.AbstractCommand",
> "exact": true,
> "file": "AbstractCommand.java",
> "line": 63,
> "location": "activemq-console-5.13.4.jar",
> "method": "execute",
> "version": "5.13.4"
> },
> {
> "class": "org.apache.activemq.console.command.ShellCommand",
> "exact": true,
> "file": "ShellCommand.java",
> "line": 104,
> "location": "activemq-console-5.13.4.jar",
> "method": "main",
> "version": "5.13.4"
> },
> {
> "class": "sun.reflect.NativeMethodAccessorImpl",
> "exact": false,
> "file": "NativeMethodAccessorImpl.java",
> "line": -2,
> "location": "?",
> "method": "invoke0",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.reflect.NativeMethodAccessorImpl",
> "exact": false,
> "file": "NativeMethodAccessorImpl.java",
> "line": 62,
> "location": "?",
> "method": "invoke",
> "version": "1.8.0_112"
> },
> {
> "class": "sun.reflect.DelegatingMethodAccessorImpl",
> "exact": false,
> "file": "DelegatingMethodAccessorImpl.java",
> "line": 43,
> "location": "?",
> "method": "invoke",
> "version": "1.8.0_112"
> },
> {
> "class": "java.lang.reflect.Method",
> "exact": false,
> "file": "Method.java",
> "line": 498,
> "location": "?",
> "method": "invoke",
> "version": "1.8.0_112"
> },
> {
> "class": "org.apache.activemq.console.Main",
> "exact": true,
> "file": "Main.java",
> "line": 262,
> "location": "activemq.jar",
> "method": "runTaskClass",
> "version": "5.13.4"
> },
> {
> "class": "org.apache.activemq.console.Main",
> "exact": true,
> "file": "Main.java",
> "line": 115,
> "location": "activemq.jar",
> "method": "main",
> "version": "5.13.4"
> }
> ],
> "localizedMessage": "Cannot create PoolableConnectionFactory
> (Communications link failure\n\nThe last packet successfully received from
> the server was 760 milliseconds ago. The last packet sent successfully to
> the server was 755 milliseconds ago.)",
> "message": "Cannot create PoolableConnectionFactory (Communications
> link failure\n\nThe last packet successfully received from the server was 760
> milliseconds ago. The last packet sent successfully to the server was 755
> milliseconds ago.)",
> "name": "java.sql.SQLException"
> },
> "timeMillis": 1507702258729
> }
> {code}
> ActiveMQ MySQL configuration
> {code}
> <bean id="mysql-ds" class="org.apache.commons.dbcp2.BasicDataSource"
> destroy-method="close">
> <!-- http://commons.apache.org/proper/commons-dbcp/configuration.html -->
> <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
> <property name="url"
> value="jdbc:mysql://${jdbc.databaseHost}:3306/${jdbc.databaseName}?useJDBCCompliantTimezoneShift=true&useSSL=true&requireSSL=true&verifyServerCertificate=true&connectTimeout=5000&socketTimeout=5000&queryTimeoutKillsConnection=true&trustCertificateKeyStoreUrl=file:///etc/ssl/certs/java/cacerts&trustCertificateKeyStorePassword=changeit&clientCertificateKeyStoreUrl=file:///etc/ssl/certs/java/cacerts&clientCertificateKeyStorePassword=changeit"/>
> <property name="username" value="${jdbc.databaseUser}"/>
> <property name="password" value="${jdbc.databasePassword}"/>
> <property name="poolPreparedStatements" value="true"/>
> <property name="validationQuery" value="select 1"/>
> <property name="maxWaitMillis" value="5000"/>
> <property name="validationQueryTimeout" value="5"/>
> <property name="defaultQueryTimeout" value="5"/>
> </bean>
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)