程序包 gu.sql2java

类 QueueProducerAction<B extends gu.sql2java.BaseBean,T>

java.lang.Object
gu.sql2java.QueueProducerAction<B,T>
类型参数:
B - 从数据库读取的原始记录对象类型
T - 队列中保存的基于B转换的数据库对象类型
所有已实现的接口:
gu.sql2java.TableManager.Action<B>
直接已知子类:
QueueProducerAction.SimpleQueueProducerAction

public class QueueProducerAction<B extends gu.sql2java.BaseBean,T> extends Object implements gu.sql2java.TableManager.Action<B>
[线程安全]实现向阻塞队列输出数据库记录的TableManager.Action接口
为异步输出数据库查询记录提供技术基础, 作为数据库记录的生产者向将从数据库中读取的数据库记录转换为指定的类型添加到阻塞队列,供另一端的消费者使用, 当消费端停止消费时,即停止工作。
从以下版本开始:
3.15.4
作者:
guyadong
  • 构造器详细资料

    • QueueProducerAction

      public QueueProducerAction(BlockingQueue<T> queue, int queueTimeout, com.google.common.base.Function<B,T> transformer)
      构造方法
      参数:
      queue - 阻塞队列
      queueTimeout - 插入队列超时时间(秒), 队列满后超过这个时间不能插入新记录即视消费端中止,并中止插入, 小于等于0使用默认值DEFAULT_QUEUE_TIMEOUT
      transformer - B到T的数据类型转换器
    • QueueProducerAction

      public QueueProducerAction(int queueCapaticy, int queueTimeout, com.google.common.base.Function<B,T> transformer)
      构造方法
      参数:
      queueCapaticy - 队列容量,小于等于0使用默认值DEFAULT_QUEUE_CAPACITY
      queueTimeout - 插入队列超时时间(秒), 队列满后超过这个时间不能插入新记录即视消费端中止,并中止插入, 小于等于0使用默认值DEFAULT_QUEUE_TIMEOUT
      transformer - B到T的数据类型转换器
    • QueueProducerAction

      public QueueProducerAction(com.google.common.base.Function<B,T> transformer)
      简化版本构造方法
      队列容量和插入队列超时时间使用默认值
      参数:
      transformer - B到T的数据类型转换器
  • 方法详细资料

    • getQueue

      public BlockingQueue<T> getQueue()
    • call

      public void call(B bean)
      将数据库中获取的原始数据库对象通过转换器(transformer)转换为指定类型插入到阻塞队列中。 当阻塞队列满添加元素超时即视为消费端停止,即停止工作,抛出QueueTimeoutException异常, 以中止从数据库中读取记录的过程
      指定者:
      call 在接口中 gu.sql2java.TableManager.Action<B extends gu.sql2java.BaseBean>