小编Dmi*_*nov的帖子

RecyclerView双向无限滚动,可根据需要加载数据

有很多关于如何使用EndlessScroll和加载数据的信息RecyclerView.但是,它仅支持在一个方向上滚动和加载数据.在我们的项目中,我们需要能够加载任意数据部分并允许用户在任一方向(向上和向下)滚动并在两个方向上按需加载数据.换句话说,每次用户滚动结束 - 在历史结束时加载数据.每次用户滚动到开头 - 在历史开头加载数据

这种实现的一个例子是Skype/Telegram聊天历史.当您打开聊天时,您将进入未读消息列表的开头,只要您开始滚动聊天记录,他们就会按需加载数据.

问题RecyclerView是它使用偏移位置来处理项目和视图; 难以将加载的数据提供给适配器并通知位置和计数的变化.当我们滚动到历史的开头时,我们无法在-1到-n的位置插入数据.有人找到了解决方案吗?动态更新物品的位置?

android android-recyclerview

7
推荐指数
1
解决办法
1204
查看次数

Spring-amqp 两个具有不同TTL的队列

在我们的应用程序中,我们使用 RabbitMQ 和 spring-amqp(1.4.3.RELEASE)。我们那里有两个队列。它们都配置了 TTL(60000 和 100000)。当我们启动应用程序时,它会出现以下错误:

[pool-4-thread-1] 错误 org.springframework.amqp.rabbit.connection.CachingConnectionFactory - 通道关闭:通道错误;协议方法:#method(reply-code=406,reply-text=PRECONDITION_FAILED - vhost '/'中队列'queue1'的不等价参数'x-message-ttl':收到'60000'但当前为'100000',类-id=50,方法id=10)

然后当我们尝试向队列发送消息时会抛出异常:

[http-nio-8080-exec-8]错误[P181786EJG755SN8I3S74584216UV1]没有收到回复 - 可能是模板超时?org.springframework.remoting.RemoteProxyFailureException:未收到回复 - 可能是模板超时?在 org.springframework.amqp.remoting.client.AmqpClientInterceptor.invoke(AmqpClientInterceptor.java:60) 在 org.springframework.aop.framework.ReflectiveMethodInvocau.proceed(ReflectiveMethodInitation.java:179) 在 org.springframework.aop.framework.JdkDynamicAopProxy .invoke(JdkDynamicAopProxy.java:207) 在 com.sun.proxy.$Proxy83.getUserById(来源未知)

在网上搜索得到的结果如下:

http://forum.spring.io/forum/spring-projects/integration/amqp/124865-unexpected-behaviour-with-rabbit-admin 特别是这个错误: https: //jira.spring.io/browse/AMQP -266

发现该错误后,我们将两个队列的 TTL 值更改为 60000,并且不再显示错误。并且应用程序运行良好。所以,看来TTL还是有一个bug。

rabbitmq spring-amqp

4
推荐指数
1
解决办法
8465
查看次数