Grails 圣杯我不知道';我不理解如何将异步与数据服务一起使用

Grails 圣杯我不知道';我不理解如何将异步与数据服务一起使用,grails,Grails,大家早上好 我正在导入一个非常大的csv文件。因此,我尝试使用grails异步插件 我遵循这个例子。但是,它给了我一个会话未找到的错误。我在谷歌上搜索了一下,他们说我不能对数据服务使用async,因为数据服务是从不同的线程运行的。(或类似的事情)。我不理解他们在其他帖子中提出的解决方案 我需要在p=task{}块中放入什么才能使其工作? 请你告诉我在这个街区打什么好吗?谢谢 我有一家书店。bookService有一个importsv(stringcsv)方法,该方法获取从csv文件读取的字符串

大家早上好

我正在导入一个非常大的csv文件。因此,我尝试使用grails异步插件

我遵循这个例子。但是,它给了我一个会话未找到的错误。我在谷歌上搜索了一下,他们说我不能对数据服务使用async,因为数据服务是从不同的线程运行的。(或类似的事情)。我不理解他们在其他帖子中提出的解决方案

我需要在p=task{}块中放入什么才能使其工作? 请你告诉我在这个街区打什么好吗?谢谢

我有一家书店。bookService有一个importsv(stringcsv)方法,该方法获取从csv文件读取的字符串。BookController有一个导入操作,该操作将读取csv文件并调用BookService中的importSV()方法将书籍保存到数据库中

class BookController {
   def import {
      ...
      String csv = csvFile.text() // read the csv file
      def p = task {
         bookService.importCsv(csv)
      }
   }
}

网站上的一些信息应该会有帮助。我不理解这个例子。他们有
defp=Person.async.getAll(1L,2L,3L)
但我有
p=task{}
。我不知道在哪里或键入什么来将示例应用到我的BookController。
abstract class BookService implements IBookService {
  ProcessCsvService processCsvService

  int importCsv(String csv) {
        csv.toCsvReader(['skipLines':1]).eachLine { cols ->
            def fields = processCsvService.process(cols) //process the rows and get the values
            def newBook = new Book(fields) // fill out the info and create a new book
            save(newBook)
        }
  }

} // book serivice class