diff options
author | Kseniya Tomskikh <ktomskih@datamonsters.co> | 2017-10-27 14:24:43 +0700 |
---|---|---|
committer | Kseniya Tomskikh <ktomskih@datamonsters.co> | 2017-10-27 17:07:07 +0700 |
commit | a8882aebc2f9ebe5c0d2503d7fbab2a320b6c0d3 (patch) | |
tree | 2a6bb203f9823925ab3abd4f5890305c0c99c26d /src/main/scala/xyz/driver/pdsuicommon/db/JdbcDbIo.scala | |
parent | d9440a727edd25f2472754dc51b0206d6abbeba4 (diff) | |
download | rest-query-a8882aebc2f9ebe5c0d2503d7fbab2a320b6c0d3.tar.gz rest-query-a8882aebc2f9ebe5c0d2503d7fbab2a320b6c0d3.tar.bz2 rest-query-a8882aebc2f9ebe5c0d2503d7fbab2a320b6c0d3.zip |
Fixed bug
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuicommon/db/JdbcDbIo.scala')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuicommon/db/JdbcDbIo.scala | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/db/JdbcDbIo.scala b/src/main/scala/xyz/driver/pdsuicommon/db/JdbcDbIo.scala new file mode 100644 index 0000000..44f177c --- /dev/null +++ b/src/main/scala/xyz/driver/pdsuicommon/db/JdbcDbIo.scala @@ -0,0 +1,28 @@ +package xyz.driver.pdsuicommon.db + +import xyz.driver.pdsuicommon.logging._ + +import scala.concurrent.Future +import scala.util.{Failure, Success, Try} + +class JdbcDbIo(sqlContext: TransactionalContext) extends DbIo with PhiLogging { + + override def runAsync[T](f: => T): Future[T] = { + Future(f)(sqlContext.executionContext) + } + + override def runAsyncTx[T](f: => T): Future[T] = { + import sqlContext.executionContext + + Future(sqlContext.transaction(f)).andThen { + case Failure(e) => logger.error(phi"Can't run a transaction: $e") + } + } + + override def runSyncTx[T](f: => T): Unit = { + Try(sqlContext.transaction(f)) match { + case Success(_) => + case Failure(e) => logger.error(phi"Can't run a transaction: $e") + } + } +} |