B - 从数据库读取的原始记录对象类型T - 队列中保存的基于B转换的数据库对象类型public class QueueBufferProducerAction<B extends gu.sql2java.BaseBean,T>
extends java.lang.Object
implements gu.sql2java.TableManager.Action<B>
TableManager.Action接口| 限定符和类型 | 类和说明 |
|---|---|
static class |
QueueBufferProducerAction.SimpleQueueProducerAction<B extends gu.sql2java.BaseBean>
QueueBufferProducerAction的简化版本,队列类型为数据库原始记录类型 |
| 构造器和说明 |
|---|
QueueBufferProducerAction(java.util.concurrent.atomic.AtomicBoolean stopped,
com.google.common.base.Function<B,T> transformer,
long rowCount)
简化版本构造方法
队列容量和插入队列超时时间使用默认值 |
QueueBufferProducerAction(java.util.concurrent.BlockingQueue<java.util.List<T>> queue,
int bufferCapacity,
int queueTimeout,
java.util.concurrent.atomic.AtomicBoolean stopped,
com.google.common.base.Function<B,T> transformer,
boolean outputProgress,
long rowCount)
构造方法
|
QueueBufferProducerAction(int queueCapaticy,
int bufferCapacity,
int queueTimeout,
java.util.concurrent.atomic.AtomicBoolean stopped,
com.google.common.base.Function<B,T> transformer,
boolean outputProgress,
long rowCount)
构造方法
|
QueueBufferProducerAction(QueueBufferProducerAction<B,T> action,
long rowCount)
构造方法
从原对象复制构造新对象,除了 rowCount字段都从原对象复制,用于多线程异步查询所需要的action对象构建 |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
call(B bean)
将数据库中获取的原始数据库对象通过转换器(
transformer)转换为指定类型插入到阻塞队列中。 |
int |
getBufferCapacity() |
java.util.concurrent.BlockingQueue<java.util.List<T>> |
getQueue() |
long |
getRowCount() |
public QueueBufferProducerAction(java.util.concurrent.BlockingQueue<java.util.List<T>> queue, int bufferCapacity, int queueTimeout, java.util.concurrent.atomic.AtomicBoolean stopped, com.google.common.base.Function<B,T> transformer, boolean outputProgress, long rowCount)
queue - 阻塞队列bufferCapacity - 缓冲区容量queueTimeout - 插入队列超时时间(秒),
队列满后超过这个时间不能插入新记录即视消费端中止,并中止插入
小于等于0使用默认值DEFAULT_QUEUE_TIMEOUTstopped - 停止标志,为null忽略,为true时不再向队列添加数据,抛出QueueTimeoutException,结束循环transformer - B到T的数据类型转换器outputProgress - 是否输出进度rowCount - 当前查询的记录总数public QueueBufferProducerAction(int queueCapaticy,
int bufferCapacity,
int queueTimeout,
java.util.concurrent.atomic.AtomicBoolean stopped,
com.google.common.base.Function<B,T> transformer,
boolean outputProgress,
long rowCount)
queueCapaticy - 队列容量,小于等于0使用默认值DEFAULT_QUEUE_CAPACITYbufferCapacity - 缓冲区容量queueTimeout - 插入队列超时时间(秒),
队列满后超过这个时间不能插入新记录即视消费端中止,并中止插入
小于等于0使用默认值DEFAULT_QUEUE_TIMEOUTstopped - 停止标志,为null忽略,为true时不再向队列添加数据,抛出QueueTimeoutException,结束循环transformer - B到T的数据类型转换器outputProgress - 是否输出进度rowCount - 当前查询的记录总数public QueueBufferProducerAction(QueueBufferProducerAction<B,T> action, long rowCount)
rowCount字段都从原对象复制,用于多线程异步查询所需要的action对象构建action - rowCount - 当前查询的记录总数public QueueBufferProducerAction(java.util.concurrent.atomic.AtomicBoolean stopped,
com.google.common.base.Function<B,T> transformer,
long rowCount)
stopped - 停止标志,为null忽略,为true时不再向队列添加数据,抛出QueueTimeoutException,结束循环transformer - B到T的数据类型转换器rowCount - 当前查询的记录总数public java.util.concurrent.BlockingQueue<java.util.List<T>> getQueue()
public long getRowCount()
public int getBufferCapacity()
public void call(B bean)
transformer)转换为指定类型插入到阻塞队列中。
当阻塞队列满添加元素超时即视为消费端停止,即停止工作,抛出QueueTimeoutException异常,
以中止从数据库中读取记录的过程call 在接口中 gu.sql2java.TableManager.Action<B extends gu.sql2java.BaseBean>Copyright © 2022. All Rights Reserved.