package rocks.inspectit.agent.java.sensor.method.jdbc; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import rocks.inspectit.agent.java.core.IPlatformManager; import rocks.inspectit.agent.java.hooking.IHook; import rocks.inspectit.agent.java.sensor.method.AbstractMethodSensor; import rocks.inspectit.agent.java.sensor.method.IMethodSensor; import rocks.inspectit.agent.java.util.Timer; /** * @author Patrice Bouillet * */ public class PreparedStatementSensor extends AbstractMethodSensor implements IMethodSensor { /** * The timer used for accurate measuring. */ @Autowired private Timer timer; /** * The Platform manager. */ @Autowired private IPlatformManager platformManager; /** * The statement storage. */ @Autowired private StatementStorage statementStorage; /** * Caches the calls to getConnection(). */ @Autowired private StatementReflectionCache statementReflectionCache; /** * Storage for connection meta data. */ @Autowired private ConnectionMetaDataStorage connectionMetaDataStorage; /** * The used prepared statement hook. */ private PreparedStatementHook preparedStatementHook = null; /** * {@inheritDoc} */ @Override public IHook getHook() { return preparedStatementHook; } /** * {@inheritDoc} */ @Override protected void initHook(Map<String, Object> parameters) { preparedStatementHook = new PreparedStatementHook(timer, platformManager, statementStorage, connectionMetaDataStorage, statementReflectionCache, parameters); } }