Я хочу отправить столик в качестве части сообщения акк актера. Чтобы удаленный актер с другого конца мог подключиться к базе данных и выполнять операции CRUD в базе данных mysql. Я не могу получить голову над пятнистыми типами, и я нахожу жалобы компилятора/затмения. Как я могу это сделать. Это хорошая идея, чтобы передать slick-запросы как часть сообщений актера.Прохождение scala slick table в сообщении аккера akka
object RemoteActorMessages {
case class Create(table: Table[A])
case class RunQuery(query: Query[_, _, _])
case Result(code: Int, message: String)
}
class DBActor extends Actor {
def recieve = {
case Create(table) => createTable(table)
case RunQuery(query) => runQuery(query)
case ... //so on
}
}
def createTable(table: Table[M]): Future[A] = Future {
db.withSession(implicit session => tableQuery[table].ddl.create)
}
def runQuery(query: Query[_, _, _]): Future[A] = Future {
db.withSession { implicit session => {
query.run
}
}
}
предупреждение: код может иметь некоторый тип errors.Discretion ценится из зрителей
Я смущен о том, как отправить результаты обратно отправителю сообщения. например: query.list.run возвращает список объектов модели. Итак, как мне создать кадр из сообщения Result
Почему бы не отправить детали как сообщения деталей, а затем создать запрос на сервере. Что такое ошибка/предупреждение. – korefn
@korefn, как я могу отправить сообщение в ** DbActor ** для создания таблицы в базе данных. – pamu
@korefn. Я хочу включить общий тип в сообщение ** DBActor **, чтобы любой конкретный тип таблицы мог быть отправлен на него, как и в случае инъекции зависимостей. После этого ** DBActor ** может вызывать ddl.create в родовом типе для создания таблицы в базе данных. – pamu