问题标签 [infinispan]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
735 浏览

caching - Infinispan+kyro/Google Protocol Buffers 实现更多空间和时间效率的序列化?

如果我理解正确的话,Infinispan/JBoss Cache 使用 Java 自己的序列化机制,它可能会很慢并且占用相对更多的存储空间。我一直在寻找可以实现以下目标的替代方案:

  1. 自动缓存管理,换句话说,使用更频繁的对象会自动加载到内存中
  2. 更有效的序列化(可能是对象 --> 紧凑的二进制存储)。主要目标是在不牺牲太多性能的情况下减少磁盘/内存空间消耗

是否有实现两者的框架或库?

0 投票
2 回答
252 浏览

hibernate - SQL 异常导致 Hibernate 二级缓存以 Infinispan 作为提供者的数据过时

我们在基于 JPA(Hibernate)的应用程序中使用 Infinispan(使用 JGroups 集群)作为我们的二级缓存。当数据库操作失败时,我们会看到二级缓存是陈旧的。例如:

1) 尝试使用登录名“joe”创建用户。2) 调用persist(user);3) 由于数据库唯一性约束,持久化失败。4) 在 login=joe 上按 id 查找(假设 login 是 PK)。5) Hibernate 从 Infinispan 缓存返回 joe 用户,即使数据库没有它。

在这种情况下,配置 XA 事务并让 Infinispan 参与 XA 似乎有点矫枉过正。XA 是解决这个问题的唯一方法吗?

0 投票
0 回答
707 浏览

java - 使用 Infinispan 在同一过程中进行隔离

我正在围绕 Infinispan 缓存和 Atomikos 事务管理器构建应用程序。我发现事务隔离不适用于在同一 JVM 上的两个不同线程中打开的事务。

使用以下代码实例化缓存:

Withthis.tmLookuporg.infinispan.transaction.lookup.TransactionManagerLookup返回配置 Atomikos 事务管理器的简单实现。

我通过使用单个值填充缓存来设置一个小测试,然后在两个线程中启动一个读取器和一个写入器,每个线程都在一个单独的事务中。基本上,写入器将获取存储在缓存中的值,更改值并将其保存到缓存中。另一方面,使用 get 读取并在不同阶段显示值:在 writer 执行任何更改之前,在 writer 更改 pojo 之后,在 writer 保存更新的 pojo 之后,最后在 writer 事务提交之后.

编写器代码是:

阅读器代码为:

为了跟踪缓存返回的实体,我这样实现了 Pojo toString()

由于缓存被配置为隔离,我希望在读取器和写入器之间有不同的 pojo 实例,并且只有在写入器的事务提交后才能看到更改。

但是我得到了以下输出:

所以基本上,缓存就像一个哈希图一样执行,因为它为两个线程返回相同的 pojo 实例。

问题是我是否错过了配置或预期行为中的某些内容?

我很确定事务管理器正在工作,因为我可以从 Atomikos 获取日志消息,指示读取器和写入器上不同事务的开始。

但是,我使用 Ehcache 而不是 Infinispan 尝试了相同的测试,得到了预期的结果。比较两个测试之间的日志,我发现了类似的消息,唯一明显的区别是 Infinispan 没有事务 ID:

对比

0 投票
0 回答
446 浏览

java - Infinispan as Hibernate 2LC: NamedCacheNotFoundException

I currently use JBossCache 3.2 as a Hibernate 2nd level cache for clustered caching of entities in a EJB3 environment (GlassFish 2) which runs fine. Now I'm evaluating using Infinispan 4.2.1 instead and to my surprise I get NamedCacheNotFoundExceptions.

I use annotations at entity level like

and the exeptions are like

Looking via jmx I can see a corresponding MBean but it's CacheName is like myRegion(invalidation_sync). The suffix (invalidation_sync) seems to be added by Infinispan.

Is this the root cause of my problem? How to come around it? My Infinispan config is largely the one that comes with hibernate-infinsipan but with jmx enabled.

0 投票
1 回答
1318 浏览

spring - Atomikos + Infinispan + Jetty 错误

我在码头上使用带有休眠、atomikos 和 infinispan 的 Spring。将任何实体注释为 @Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) 后出现以下错误

似乎问题在于 atomikos 和 infinispan 之间。我的配置基于文档示例。但是在https://docs.jboss.org/author/display/ISPN/Implementing+standalone+JPA+JTA+Hibernate+application+outside+J2EE+server+using+Infinispan+2nd+level+cache他们说要添加 2要配置的属性,但hibernate.jndi.class 我可以在码头下设置什么?

0 投票
1 回答
1096 浏览

lucene - Katta vs Lucene + Infinispan

Lucene 可以使用受干扰的 infinispan 缓存。我想知道基于 hadoop 从 lucene + infinispan 迁移到 Katta 的时刻是什么时候?什么时候我会更有效地使用 Katta,什么时候使用 Lucene+infinispan?我读过 hadoop 不适合实时系统,但是 Katta 呢?

0 投票
1 回答
336 浏览

java - Infinispan MVCC 与“put”

我今天想在某种可能不熟悉的事情上使用 Infinispan。我想保存一个变量,让我们在缓存中多次调用它 - 同时能够将它作为 X 寻址。

普通的,旧的 MVCC。但是,似乎 infinispan 在后端使用了 MVCC——但我无法在我的小测试应用程序中使用它。

这是对应的代码:

果然, acTest 包含密钥 - 但我无法处理该密钥的值“blubber” - 当我提高“nothing”的数值时 foo 持有“nothing”......但我想获得第一个版本“foo” - 因此是“鲸脂”

我希望能够解决不同版本的test。我认为我可以在put操作中使用不同的参数创建不同版本的“测试” - 但是 eclipse 绝对没有关于这件事的文档......

有人可以帮我吗?

0 投票
1 回答
1536 浏览

infinispan - 注释 JCacheResult 在 Infinispan 和 Glassfish 3.1.1 中不起作用

我正在尝试将来自 Infinispan 的 JCache 集成到我现有的 EJB 项目中。

我已将 Infinispan 5.0.1 CDI 和 Core 包添加到 Maven pom。在 beans.xml 中添加了 Infinispan 拦截器,并且能够使用 CacheResult 注释。

我正在 Glassfish 3.1.1 中部署该应用程序。我检查了 Weld jar 版本,即 Module : org.jboss.weld.osgi-bundle:1.1.1.Final

在运行时,CacheResult 方法拦截器不会缓存方法结果,它总是被调用。

我的代码看起来像这样,

greet() 方法被调用,但它永远不会将方法结果添加到测试缓存中。我觉得我错过了一些配置还是......我不知道。请帮助我。

当我注入类时,它们不会被构造并且它们是空的。代码是这样的,

这些会在没有任何错误的情况下执行,但不会被初始化。

我不知道......但我可以很容易地在这个类中注入其他 EJB。顺便说一句,我正在尝试在其中一个 EJB 中添加 Jcache 功能。

我会很感激你的帮助...

谢谢...拉吉小号

0 投票
1 回答
4172 浏览

hibernate-search - Infinispan 中的复制超时

我正在使用一个用作 Hibernate Search 后端的 10 节点 Infinispan 集群。我们的服务器在 Java 1.6_24 上运行 TC server 2.5 (tomcat 6.0.32)。我们使用 jGroups 2.12.1.3 来处理来自每个节点的集群缓存写入,以及多播 UDP 传输。

当我们在集群中启动 3 个以上的节点时,最终其中一个节点开始记录复制超时。无论我们将 Infinispan 配置为复制还是分发缓存模式,我们都观察到了相同的结果。尽管集群的其余部分保持稳定,但故障节点基本上无法进行搜索。

我们的配置:

英菲尼斯潘:

jGroups(UDP):


我们观察到的错误:

因为无论我们的拓扑或缓存模式如何,这个错误都非常普遍,我们相信我们一定是在某个地方配置错误。任何人都可以推荐一个修复?

0 投票
1 回答
904 浏览

hibernate - Glassfish with infinispan second level caching

I want to use Infinispan with hibernate second level cache. My application is running in a glassfish 3 application server and I use hibernate JPA. The hibernate library already contains infinispan so I didn't added to my project. I use jta transaction. To do that I modify my persistence.xml:

When I redeploy the application I get the following exception:

Should I try to add the infinispan library to the project?

I tried to set:

but didn't worked.

Thanks in advance.