小编dpa*_*mer的帖子

EmbeddedKafka w/ ContainerTestUtils.waitForAssignment 抛出:预期 1 但获得 0 个分区

我们有一个集成测试,我们使用 EmbeddedKafka 并向某个主题生成一条消息,我们的应用程序处理该消息,然后将结果发送到我们使用并断言输出的第二个主题。在 CI 中,这可能在 2/3 的时间内有效,但我们会遇到KafkaTestUtils.getSingleRecord抛出异常的情况java.lang.IllegalStateException: No records found for topic(参见下面的 [1])。

为了尝试解决此问题,我ContainerTestUtils.waitForAssignment为注册表中的每个侦听器容器添加了(请参阅下面的 [2])。在 CI 中成功运行几次后,我看到了一个新的异常:java.lang.IllegalStateException: Expected 1 but got 0 partitions。现在我想知道这是否真的是原始异常“未找到记录”的根本原因。

有什么想法可以帮助解决这里的随机故障吗?我将不胜感激任何有关如何排除故障的建议。

spring-kafka 和 spring-kafka-test v2.6.4。

编辑:添加newConsumer以供参考。

我们的设置示例:

@SpringBootTest
@RunWith(SpringRunner.class)
@DirtiesContext
@EmbeddedKafka(
    topics = { "topic1","topic2" },
    partitions = 1,
    brokerProperties = {"listeners=PLAINTEXT://localhost:9099", "port=9099"})
public class IntegrationTest {

  @Autowired
  private EmbeddedKafkaBroker embeddedKafkaBroker;

  @Autowired
  private KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry;

  @Test
  public void testExample() {
    try (Consumer<String, String> consumer = newConsumer()) { …
Run Code Online (Sandbox Code Playgroud)

spring-kafka spring-kafka-test

13
推荐指数
1
解决办法
4435
查看次数

空对象中的领域查找查询结果

在查找对象的查询时,我得到的是“空”对象(非null,但未填充)。但是,在调试器中,我可以在对象描述中看到该对象的数据(请参见下文)。我还使用Realm Browser验证了数据是否存在。我尝试了不同的查找查询,使用过滤条件进行查询,对插入/查询使用相同的Realm对象,对插入/查询使用不同的Realm对象,刷新了Realm等。

如果我在RealmObject中记录字段,则会看到正确的数据打印出来。但是,我正在尝试根据https://realm.io/news/using-realm-with-rxjava/将这些模型转换为RxJava中使用的其他模型。

这是重现问题的一些示例代码。下面是在verifyRealm.close()处断开时的屏幕截图。

RealmTester realmTester1 = new RealmTester();
realmTester1.setFirstName("Tester1");
realmTester1.setLastName("ABC");
RealmTester realmTester2 = new RealmTester();
realmTester2.setFirstName("Tester2");
realmTester2.setLastName("XYZ");

Realm insertRealm = Realm.getDefaultInstance();
insertRealm.refresh();
insertRealm.beginTransaction();
insertRealm.copyToRealm(realmTester1);
insertRealm.copyToRealm(realmTester2);
insertRealm.commitTransaction();
insertRealm.close();

Realm verifyRealm = Realm.getDefaultInstance();
RealmResults<RealmTester> verifyTesters = verifyRealm.where(RealmTester.class).findAll();
verifyRealm.close();
Run Code Online (Sandbox Code Playgroud)

我在以下位置有调试器的屏幕截图:http : //i.stack.imgur.com/1UdRr.png

我正在使用v0.82.1。关于为什么这里的模型没有填充的任何想法?

android realm

5
推荐指数
1
解决办法
2870
查看次数

Firebase w /旧版Google Play服务

我们最近在Android w/v10.0.1上实施了Firebase远程配置.一切都很棒,直到我们把它交给测试,2/5设备没有拉出云配置值.我们发现这两台设备都在运行Google Play Services v9.6.83.将我们的应用程序移回Firebase v9.6.0后,远程配置在5/5设备上正确同步.

我知道我们可以查询Google Play服务更新是否可用并指示用户更新,但这显然不太理想.我们是否在使用较旧版本的Firebase SDK与较新版本的Firebase SDK之间做出选择,以最大限度地减少Google Play服务的更新摩擦,以及获取最新的修补程序和功能?我可能错过了一些配置来支持向后兼容性吗?

android firebase google-play-services firebase-remote-config

5
推荐指数
1
解决办法
753
查看次数