void Tass::Base::ConnectionPool::Finalize() { SetAlive(false); while (busyConn != 0) CMUtility::MillSleep(30); CMLockGuard<CMMutex> lock(connsMtx); deque<CMSharedPtr<Connection> >().swap(conns); busyConn = 0; }
时间: 2024-03-29 22:35:43 浏览: 118
这段代码的作用是清空连接池中的所有连接。首先将 `alive` 标志设置为 false,表示连接池已经停止服务。然后进入一个循环,等待所有正在使用的连接都被释放回连接池中。
接着,获取连接池的锁,将连接池中的连接逐个从队列中弹出,然后通过 `swap` 函数将其与一个空的临时队列交换,以释放连接所占用的内存空间。最后将 `busyConn` 计数器重置为 0,表示所有连接都已经被释放。
相关问题
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.tass.sys.dao.mapper.SysApiGroupMapper.findByParentId
这个异常是由 MyBatis 框架抛出的,表示找不到对应的 SQL 语句。根据异常信息来看,似乎是找不到 `com.tass.sys.dao.mapper.SysApiGroupMapper.findByParentId` 这个 SQL 语句。
通常,这个错误可能由以下几个原因引起:
1. 未正确配置 MyBatis 的映射文件或注解:检查是否在映射文件或注解中正确定义了 `findByParentId` 对应的 SQL 语句。
2. 映射文件或注解路径配置错误:检查 MyBatis 配置文件中是否正确配置了映射文件或注解所在的路径。
3. SQL 语句命名错误:检查 SQL 语句的命名是否正确,包括大小写、命名规范等。
请检查以上几个方面,确认是否存在配置或代码错误,并确保正确定义了 `com.tass.sys.dao.mapper.SysApiGroupMapper.findByParentId` 对应的 SQL 语句。
阅读全文