问题标签 [terracotta]

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 投票
2 回答
184 浏览

java - 在 Terracotta 的上下文中,“it deltas memory”是什么意思?

我正在读《春天食谱》这本书。我无法理解关于兵马俑的某些说法。

以下是书中的一段话

Terracotta 与今天的大多数集群缓存不同,因为它没有可见的 API,而且它在将更改的状态传送到集群中的节点方面效率更高。大多数系统使用某种 Java 序列化或广播机制,其中每个其他节点都被赋予整个对象或对象图,这些对象或对象图已更改,无论它们是否需要了解新状态。Terracotta 的做法不同:它对对象图本身的内存进行增量,并同步集群中的其他节点,因为它们需要对象状态的一致视图。简而言之,它可以做的事情相当于只传输一个对象中的一个更新变量,而不是整个对象。

我可以理解它不使用序列化之类的东西来跨集群传输对象,但是“它增量内存”是什么意思?

0 投票
3 回答
1155 浏览

ehcache - 使用 JTA 工作的分布式 Ehcache

我正在尝试使用 Terracotta Ehcache(开源)对分布式事务内存进行一些基准测试。我在理解它与 JTA 的工作时遇到了一些问题。在代码中,我发现对分布式事务感兴趣的缓存将自己作为具有 JTA 的资源登记为 JTA 稍后在其上执行两阶段提交的资源。

我的问题是,如果只有一个缓存被列为资源,JTA 将如何能够在分布式设置中自动更新所有其他缓存?我们没有将其他缓存引用传递给 JTA,因此不会对它们进行原子更新。我觉得,我在这里遗漏了一些字符串,谁能解释它是如何工作的?我也是 J2EE 的新手,我是否遗漏了一些允许将其他缓存自动引用传递给 JTA 的 J2EE 概念?

0 投票
2 回答
1065 浏览

hibernate - Hibernate 悲观锁是用 EHCache/Terracotta 分发的吗?

Hibernate 是否可以在 Java 事务开始时实现悲观锁定,或者它是否依赖于在 Java 领域中的所有工作完成后应用悲观锁定,然后将更改作为数据库事务的一部分应用于数据库?

我问,因为我有一个 Java 事务,在此过程中调用了远程 Web 服务,这是非事务性的,因此无法回滚。如果 Hibernate 对正在操作的数据持有悲观锁,那么事务的处理应该被阻塞,因为 Hibernate 知道另一个线程已经在对这些数据进行操作。如果 Hibernate本身不跟踪此类锁,则 Java 事务将继续,调用 Web 服务,然后阻塞 DB 提交。

我真正想要发生的是Java事务启动,另一个线程尝试启动另一个事务,并且阻塞/失败,因为相关数据已经在进行中。

当 Hibernate 将 EHCache 作为 2LC 以分布式方式与 Terracotta 一起使用时,锁定行为会受到怎样的影响?

0 投票
1 回答
525 浏览

terracotta - 带有 Terracotta BigMemory 的 Broadleafdemo

我正在尝试弄清楚如何使用 Terracotta BigMemory 配置 Broadleaf 电子商务 java 解决方案 聆听http://www.slideshare.net/crederajfischer/bigmemory-for-bigproblems-improving-performance-of-a-real-world-ecommerce -application-based-on-hibernate-broadleaf-commerce

  1. 如何配置 Broadleafdemo 以使用 Terracotta BigMemory?是否像修改 bl-override-ehcache.xml 以具有“堆外”组件一样简单?

  2. 我想我必须获得使用 Terracotta BigMemory 的许可证?

0 投票
0 回答
317 浏览

caching - Java中的数据缓存

我正在尝试用java开发一个分布式应用程序。哪个数据缓存工具更好?

  1. JBoss 缓存

  2. 英菲尼斯潘

  3. 缓存

  4. 兵马俑缓存??

0 投票
2 回答
595 浏览

java - Java 和不同类型/方法的聚类

我对 Java EE 比较陌生,并且已经开始听说可以集群的许多不同类型的系统:

  • 虚拟机(即“该设备是一个虚拟机集群...... ”)
  • 应用程序服务器,例如 Tomcat、JBoss 或 GlassFish(即“我们正在运行集群的 JBoss... ”)
  • 集群 API,例如 Terracotta
  • 数据库,如 Oracle(“集群数据库”)
  • 云应用程序(“云基本上是一个集群...... ”)

维基百科将“聚类”定义为:

计算机集群由一组松散连接的计算机组成,它们一起工作,因此在许多方面它们可以被视为一个单一的系统。

我想知道对于这些“集群类型/方法”(如上所述)中的每一个,集群是如何工作的,以及它们如何相互关联。

例如,如果一个人可以从集群应用程序中受益,他/她可能会将它们放在集群应用程序服务器上,然后将集群管理器投入其中(再次,如 Terracotta)。

但是因为“聚类”这个短语似乎以模糊/模棱两可的方式使用,我没有看到这些中的每一个是如何与其他的联系在一起的,或者如果他们甚至这样做。在此先感谢任何勇敢的 StackOverflowers,他们可以帮助我理解这个相互交织的术语!

0 投票
4 回答
2162 浏览

java - Java 中的多个线程可以在同一个监视器上持有锁吗?

目前我们正在分析一个tomcat线程转储。在 tomcat 上同时运行的所有线程的单个线程转储包含以下行:

特别是我们不明白

在我们的理解中,它表示当时三个线程正在对同一个监视器持有一个锁。根据我们的理解和JLS的说法,这是不可能的。

我们对线程转储的解释是否正确?

0 投票
1 回答
576 浏览

hibernate - terracotta-hibernate-cache 和 Ehcache Distributed with Terracotta 有什么区别?

terracotta-hibernate-cache使用 Ehcache 作为 Hibernate 的二级缓存提供者和使用 Terracotta 分发它和使用and有区别terracotta-hibernate-agent吗?

0 投票
2 回答
975 浏览

java - EhCache POM 行为不端

上个月我问了这个问题,因为我无法使用 M2E Eclipse 插件将 EhCache jar 拉入我的本地 Maven 缓存。

现在,我正在尝试将几个 EhCache/Terracotta POM 文件转换为 Ivy XML 文件(使用该IvyConvertPom任务(这对于我本地存储库中的每个其他 POM 都非常有效 - 并且有数百个)并且它令人窒息,说明:

不可能将给定的 pom 文件转换为 ivy 文件:java.io.IOException: Impossible to load parent for file:/C:/Users/myUser/jars/net/sf/ehcache/ehcache-terracotta-root/2.​​5.0/ehcache- terracotta-root-2.5.0.pom。Parent=org.terracotta.forge#forge-parent;2.3 from=C:/Users/myUser/jars\net\sf\ehcache\ehcache-terracotta-root\2.5.0\ehcache-terracotta-root-2.5.0。 pom to=C:/Users/myUser/jars\net\sf\ehcache\ehcache-terracotta-root\2.5.0\ivy.xml
找不到 C:/Users/myUser\jars\net\sf\ehcache 的工件\ehcache-terracotta-root\2.5.0\ehcache-terracotta-root-2.5.0.pom

以下所有 EhCache/Terracotta 工件都会发生这种情况:

  • net\sf\ehcache\ehcache-terracotta\2.4.7\ehcache-terracotta-2.4.7.pom
  • net\sf\ehcache\ehcache-terracotta\2.5.0\ehcache-terracotta-2.5.0.pom
  • net\sf\ehcache\ehcache-terracotta-root\2.4.7\ehcache-terracotta-root-2.4.7.pom
  • net\sf\ehcache\ehcache-terracotta-root\2.5.0\ehcache-terracotta-root-2.5.0.pom

我不确定这个问题是否与我上个月遇到的问题有关,或者 EhCache 的开发人员是否只是有一种非标准的方式来编写他们的 POM,但这是现在 Maven(IvyConvertPom在hood) 对用他们的罐子做某事感到窒息。

有什么事情是显而易见的吗?否则我必须调试 Ivy 代码,这听起来像是结束星期三的痛苦方式。如果必须,我会这样做,但我想我会先在这里问,以防我遗漏了一些明显的东西。

提前致谢!

0 投票
1 回答
247 浏览

java - 对于 Terracotta 中的持久数据,如何进化类?

我们正在考虑将Terracotta用于我们的下一个项目。我对它在不需要单独的 DBMS 的情况下提供数据持久性的潜力很感兴趣。(另见 关于使用 Terracotta 作为持久性解决方案

软件演进的一大痛点是使现有的生产数据符合新的数据模型。对于 RDBMS,您可能会在部署时使用 SQL 更改脚本。对于 Terracotta 支持的数据,我并不清楚如何处理非平凡的进化。

Terracotta 文档中有几段关于 Class Evolution 的段落,但它似乎是特定于 DSO 的,而且相当肤浅。

  1. 有哪些可能的方法来处理存储在 Terracotta 中的持久数据的数据模型演化?我对非 DSO 场景(即通过 Terracotta Toolkit API)特别感兴趣。
  2. Terracotta DSO 和 Toolkit API 对进化类定义的反应是否不同?
  3. 要了解类进化的局限性,了解 Terracotta 如何表示/传达对象数据会有所帮助;有规范吗?
  4. 也许 OODBMS 世界中存在适用于 Terracotta 的模式演化技术?

作为一个简单的例子,假设我Car存储了一堆对象,并且我已经将类的modelYear字段Car从 aString更改为 an int。根据文档,这不是开箱即用的。我可以想象一个解决方案,Car在应用程序启动期间我的旧类加载器由单独的类加载器加载,然后转换为新的Car. 这会是一个好方法吗?为什么(不是)?