我的dataaccess图层中有一个处理文件导入的方法。这样的文件可以在其中包含许多需要插入数据库的记录。 此方法已包含某些“逻辑或业务规则”,需要添加更多。 问题是,如果我将其移出dataaccess层,则必须使用新连接单独插入每个记录。显然,插入数千条记录时效果不是很好。 (无法保证连接汇集)。 所以我有点迷失在如何解决这个问题上。 dataaccess层类越来越大,并且在良好的设计方面可能已经违反了几条规则。
我想到的只有生产者 - 消费者 - >业务逻辑导入文件并执行验证并将验证的记录放入队列。一个单独的线程(dataaccess层)从该队列中读取。
还有其他想法吗?有这种问题的模式吗?
答案 0 :(得分:4)
您遇到了设计问题。业务逻辑层应该是一个划分事务,并且数据访问层应始终对给定事务使用相同的连接。
例如,您可以使用Spring,它可以让您使用声明式事务和连接池,并确保整个事务使用相同的连接。
答案 1 :(得分:2)