Q: コネクション確立の前後に処理を追加する方法は?

A: コネクション確立の前後に処理を追加するには、withBeforeAfterを使用します。

Connection 生成にwithBeforeAfterメソッドを使用することでコネクションが確立される前と後にそれぞれ処理を呼び出すことができます。例えば、次のようにbeforeafterに任意の処理を渡すことで、コネクション確立前後にログを出力することができます。

withBeforeAfterの第2引数には、Afterに渡すBeforeの処理結果の型を指定します。

import ldbc.connector.*

def before: Connection[IO] => IO[Unit] = _ => IO.println("Connecting to...")
def after: (Unit, Connection[IO]) => IO[Unit] = (_, _) => IO.println("Connection Closed")

val provider =
  ConnectionProvider
    ...
    .withBeforeAfter(before, after)

この機能はldbc-connectorを使用した場合にのみ利用可能です。

libraryDependencies += "io.github.takapi327" %% "ldbc-connector" % "0.3.0-beta11"

参考資料