Class TracingConnection

java.lang.Object
com.amazonaws.xray.sql.TracingConnection
All Implemented Interfaces:
java.lang.AutoCloseable, java.sql.Connection, java.sql.Wrapper

public class TracingConnection
extends java.lang.Object
implements java.sql.Connection
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected java.sql.Connection delegate  

    Fields inherited from interface java.sql.Connection

    TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
  • Constructor Summary

    Constructors 
    Constructor Description
    TracingConnection​(java.sql.Connection connection)  
  • Method Summary

    Modifier and Type Method Description
    void abort​(java.util.concurrent.Executor executor)  
    void clearWarnings()  
    void close()  
    void commit()  
    java.sql.Array createArrayOf​(java.lang.String typeName, java.lang.Object[] elements)  
    java.sql.Blob createBlob()  
    java.sql.Clob createClob()  
    java.sql.NClob createNClob()  
    java.sql.SQLXML createSQLXML()  
    java.sql.Statement createStatement()
    Traced methods
    java.sql.Statement createStatement​(int resultSetType, int resultSetConcurrency)  
    java.sql.Statement createStatement​(int resultSetType, int resultSetConcurrency, int resultSetHoldability)  
    java.sql.Struct createStruct​(java.lang.String typeName, java.lang.Object[] attributes)  
    static java.sql.Connection decorate​(java.sql.Connection connection)
    Call connection = TracingConnection.decorate(connection) to decorate your Connection before any calls to #createStatement, #prepareStatement or #prepareCall in order to have all your SQL queries recorded with an X-Ray Subsegment.
    boolean getAutoCommit()  
    java.lang.String getCatalog()  
    java.util.Properties getClientInfo()  
    java.lang.String getClientInfo​(java.lang.String name)  
    int getHoldability()  
    java.sql.DatabaseMetaData getMetaData()  
    int getNetworkTimeout()  
    java.lang.String getSchema()  
    int getTransactionIsolation()  
    java.util.Map<java.lang.String,​java.lang.Class<?>> getTypeMap()  
    java.sql.SQLWarning getWarnings()  
    boolean isClosed()  
    boolean isReadOnly()  
    boolean isValid​(int timeout)  
    boolean isWrapperFor​(java.lang.Class<?> iface)  
    java.lang.String nativeSQL​(java.lang.String sql)
    Plain methods
    java.sql.CallableStatement prepareCall​(java.lang.String sql)  
    java.sql.CallableStatement prepareCall​(java.lang.String sql, int resultSetType, int resultSetConcurrency)  
    java.sql.CallableStatement prepareCall​(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)  
    java.sql.PreparedStatement prepareStatement​(java.lang.String sql)  
    java.sql.PreparedStatement prepareStatement​(java.lang.String sql, int autoGeneratedKeys)  
    java.sql.PreparedStatement prepareStatement​(java.lang.String sql, int[] columnIndexes)  
    java.sql.PreparedStatement prepareStatement​(java.lang.String sql, int resultSetType, int resultSetConcurrency)  
    java.sql.PreparedStatement prepareStatement​(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)  
    java.sql.PreparedStatement prepareStatement​(java.lang.String sql, java.lang.String[] columnNames)  
    void releaseSavepoint​(java.sql.Savepoint savepoint)  
    void rollback()  
    void rollback​(java.sql.Savepoint savepoint)  
    void setAutoCommit​(boolean autoCommit)  
    void setCatalog​(java.lang.String catalog)  
    void setClientInfo​(java.lang.String name, java.lang.String value)  
    void setClientInfo​(java.util.Properties properties)  
    void setHoldability​(int holdability)  
    void setNetworkTimeout​(java.util.concurrent.Executor executor, int milliseconds)  
    void setReadOnly​(boolean readOnly)  
    java.sql.Savepoint setSavepoint()  
    java.sql.Savepoint setSavepoint​(java.lang.String name)  
    void setSchema​(java.lang.String schema)  
    void setTransactionIsolation​(int level)  
    void setTypeMap​(java.util.Map<java.lang.String,​java.lang.Class<?>> map)  
    <T> T unwrap​(java.lang.Class<T> iface)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface java.sql.Connection

    beginRequest, endRequest, setShardingKey, setShardingKey, setShardingKeyIfValid, setShardingKeyIfValid
  • Field Details

    • delegate

      protected java.sql.Connection delegate
  • Constructor Details

  • Method Details

    • decorate

      public static java.sql.Connection decorate​(java.sql.Connection connection)
      Call connection = TracingConnection.decorate(connection) to decorate your Connection before any calls to #createStatement, #prepareStatement or #prepareCall in order to have all your SQL queries recorded with an X-Ray Subsegment.
      Parameters:
      connection - the connection to decorate
      Returns:
      a Connection that traces all SQL queries in X-Ray
    • createStatement

      public java.sql.Statement createStatement() throws java.sql.SQLException
      Traced methods
      Specified by:
      createStatement in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • createStatement

      public java.sql.Statement createStatement​(int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
      Specified by:
      createStatement in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • createStatement

      public java.sql.Statement createStatement​(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException
      Specified by:
      createStatement in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • prepareStatement

      public java.sql.PreparedStatement prepareStatement​(java.lang.String sql) throws java.sql.SQLException
      Specified by:
      prepareStatement in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • prepareStatement

      public java.sql.PreparedStatement prepareStatement​(java.lang.String sql, int autoGeneratedKeys) throws java.sql.SQLException
      Specified by:
      prepareStatement in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • prepareStatement

      public java.sql.PreparedStatement prepareStatement​(java.lang.String sql, int[] columnIndexes) throws java.sql.SQLException
      Specified by:
      prepareStatement in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • prepareStatement

      public java.sql.PreparedStatement prepareStatement​(java.lang.String sql, java.lang.String[] columnNames) throws java.sql.SQLException
      Specified by:
      prepareStatement in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • prepareStatement

      public java.sql.PreparedStatement prepareStatement​(java.lang.String sql, int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
      Specified by:
      prepareStatement in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • prepareStatement

      public java.sql.PreparedStatement prepareStatement​(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException
      Specified by:
      prepareStatement in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • prepareCall

      public java.sql.CallableStatement prepareCall​(java.lang.String sql) throws java.sql.SQLException
      Specified by:
      prepareCall in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • prepareCall

      public java.sql.CallableStatement prepareCall​(java.lang.String sql, int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
      Specified by:
      prepareCall in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • prepareCall

      public java.sql.CallableStatement prepareCall​(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException
      Specified by:
      prepareCall in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • nativeSQL

      public java.lang.String nativeSQL​(java.lang.String sql) throws java.sql.SQLException
      Plain methods
      Specified by:
      nativeSQL in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • getAutoCommit

      public boolean getAutoCommit() throws java.sql.SQLException
      Specified by:
      getAutoCommit in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • setAutoCommit

      public void setAutoCommit​(boolean autoCommit) throws java.sql.SQLException
      Specified by:
      setAutoCommit in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • commit

      public void commit() throws java.sql.SQLException
      Specified by:
      commit in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • rollback

      public void rollback() throws java.sql.SQLException
      Specified by:
      rollback in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • close

      public void close() throws java.sql.SQLException
      Specified by:
      close in interface java.lang.AutoCloseable
      Specified by:
      close in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • isClosed

      public boolean isClosed() throws java.sql.SQLException
      Specified by:
      isClosed in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • getMetaData

      public java.sql.DatabaseMetaData getMetaData() throws java.sql.SQLException
      Specified by:
      getMetaData in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • isReadOnly

      public boolean isReadOnly() throws java.sql.SQLException
      Specified by:
      isReadOnly in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • setReadOnly

      public void setReadOnly​(boolean readOnly) throws java.sql.SQLException
      Specified by:
      setReadOnly in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • getCatalog

      public java.lang.String getCatalog() throws java.sql.SQLException
      Specified by:
      getCatalog in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • setCatalog

      public void setCatalog​(java.lang.String catalog) throws java.sql.SQLException
      Specified by:
      setCatalog in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • getTransactionIsolation

      public int getTransactionIsolation() throws java.sql.SQLException
      Specified by:
      getTransactionIsolation in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • setTransactionIsolation

      public void setTransactionIsolation​(int level) throws java.sql.SQLException
      Specified by:
      setTransactionIsolation in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • getWarnings

      public java.sql.SQLWarning getWarnings() throws java.sql.SQLException
      Specified by:
      getWarnings in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • clearWarnings

      public void clearWarnings() throws java.sql.SQLException
      Specified by:
      clearWarnings in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • getTypeMap

      public java.util.Map<java.lang.String,​java.lang.Class<?>> getTypeMap() throws java.sql.SQLException
      Specified by:
      getTypeMap in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • setTypeMap

      public void setTypeMap​(java.util.Map<java.lang.String,​java.lang.Class<?>> map) throws java.sql.SQLException
      Specified by:
      setTypeMap in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • getHoldability

      public int getHoldability() throws java.sql.SQLException
      Specified by:
      getHoldability in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • setHoldability

      public void setHoldability​(int holdability) throws java.sql.SQLException
      Specified by:
      setHoldability in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • setSavepoint

      public java.sql.Savepoint setSavepoint() throws java.sql.SQLException
      Specified by:
      setSavepoint in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • setSavepoint

      public java.sql.Savepoint setSavepoint​(java.lang.String name) throws java.sql.SQLException
      Specified by:
      setSavepoint in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • rollback

      public void rollback​(java.sql.Savepoint savepoint) throws java.sql.SQLException
      Specified by:
      rollback in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • releaseSavepoint

      public void releaseSavepoint​(java.sql.Savepoint savepoint) throws java.sql.SQLException
      Specified by:
      releaseSavepoint in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • createClob

      public java.sql.Clob createClob() throws java.sql.SQLException
      Specified by:
      createClob in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • createBlob

      public java.sql.Blob createBlob() throws java.sql.SQLException
      Specified by:
      createBlob in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • createNClob

      public java.sql.NClob createNClob() throws java.sql.SQLException
      Specified by:
      createNClob in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • createSQLXML

      public java.sql.SQLXML createSQLXML() throws java.sql.SQLException
      Specified by:
      createSQLXML in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • isValid

      public boolean isValid​(int timeout) throws java.sql.SQLException
      Specified by:
      isValid in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • setClientInfo

      public void setClientInfo​(java.lang.String name, java.lang.String value) throws java.sql.SQLClientInfoException
      Specified by:
      setClientInfo in interface java.sql.Connection
      Throws:
      java.sql.SQLClientInfoException
    • getClientInfo

      public java.lang.String getClientInfo​(java.lang.String name) throws java.sql.SQLException
      Specified by:
      getClientInfo in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • getClientInfo

      public java.util.Properties getClientInfo() throws java.sql.SQLException
      Specified by:
      getClientInfo in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • setClientInfo

      public void setClientInfo​(java.util.Properties properties) throws java.sql.SQLClientInfoException
      Specified by:
      setClientInfo in interface java.sql.Connection
      Throws:
      java.sql.SQLClientInfoException
    • createArrayOf

      public java.sql.Array createArrayOf​(java.lang.String typeName, java.lang.Object[] elements) throws java.sql.SQLException
      Specified by:
      createArrayOf in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • createStruct

      public java.sql.Struct createStruct​(java.lang.String typeName, java.lang.Object[] attributes) throws java.sql.SQLException
      Specified by:
      createStruct in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • getSchema

      public java.lang.String getSchema() throws java.sql.SQLException
      Specified by:
      getSchema in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • setSchema

      public void setSchema​(java.lang.String schema) throws java.sql.SQLException
      Specified by:
      setSchema in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • abort

      public void abort​(java.util.concurrent.Executor executor) throws java.sql.SQLException
      Specified by:
      abort in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • setNetworkTimeout

      public void setNetworkTimeout​(java.util.concurrent.Executor executor, int milliseconds) throws java.sql.SQLException
      Specified by:
      setNetworkTimeout in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • getNetworkTimeout

      public int getNetworkTimeout() throws java.sql.SQLException
      Specified by:
      getNetworkTimeout in interface java.sql.Connection
      Throws:
      java.sql.SQLException
    • unwrap

      public <T> T unwrap​(java.lang.Class<T> iface) throws java.sql.SQLException
      Specified by:
      unwrap in interface java.sql.Wrapper
      Throws:
      java.sql.SQLException
    • isWrapperFor

      public boolean isWrapperFor​(java.lang.Class<?> iface) throws java.sql.SQLException
      Specified by:
      isWrapperFor in interface java.sql.Wrapper
      Throws:
      java.sql.SQLException