51.8. 例子


  • 将键/值放在命名缓存中:

    from("direct:start")
        .setHeader(InfinispanConstants.OPERATION).constant(InfinispanOperation.PUT) (1)
        .setHeader(InfinispanConstants.KEY).constant("123") (2)
        .to("infinispan:myCacheName&cacheContainer=#cacheContainer"); (3)
    • 设置要执行的操作
    • 设置用于识别缓存中元素的密钥
    • 使用 registry 中的配置的缓存管理器 cacheContainer 将元素放在名为 myCacheName的缓存中

      可以在条目过期前配置生命周期和/或闲置时间,并从缓存中驱除,例如:

    from("direct:start")
        .setHeader(InfinispanConstants.OPERATION).constant(InfinispanOperation.GET)
        .setHeader(InfinispanConstants.KEY).constant("123")
        .setHeader(InfinispanConstants.LIFESPAN_TIME).constant(100L) (1)
        .setHeader(InfinispanConstants.LIFESPAN_TIME_UNIT.constant(TimeUnit.MILLISECONDS.toString()) (2)
        .to("infinispan:myCacheName");
    • 设置条目的寿命
    • 设置生命周期的时间单位
  • 查询

    from("direct:start")
        .setHeader(InfinispanConstants.OPERATION, InfinispanConstants.QUERY)
        .setHeader(InfinispanConstants.QUERY_BUILDER, new InfinispanQueryBuilder() {
            @Override
            public Query build(QueryFactory<Query> qf) {
                return qf.from(User.class).having("name").like("%abc%").build();
            }
        })
        .to("infinispan:myCacheName?cacheContainer=#cacheManager") ;
  • 自定义 Listeners

    from("infinispan://?cacheContainer=#cacheManager&customListener=#myCustomListener")
      .to("mock:result");
    • myCustomListener 的实例必须存在,Camel 应能够从 Registry 中查找它。我们鼓励用户扩展 org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedCustomListener 类,并使用 @Listener 注解生成的类,它们可在软件包 org.infinispan.notifications 中找到。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.