问题标签 [gigaspaces]
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.
java - Gigaspaces LRMI Java 堆空间 OutOfMemoryError
我得到一个 java.lang.OutOfMemoryError: Java heap space on light remote method invocation protocol (and watchdog)。你可以看到下面的日志。有谁知道为什么会发生这种情况以及如何解决?
我尝试的是更改代理、容器、查找服务和管理器的最大堆大小:
这也没有帮助。虽然这是有道理的 - 由于 lrmi 相关问题,堆失败,但我没有看到可以帮助我解决它的设置。
我有 8 个服务器配置,有 4 个 GSM 的 4 个 LUS 的 16 个 GSC(或 8 个 GSC)、8 个主分区和 8 个备份(或只有 8 个主分区)。当我尝试在空间中一一插入/写入对象时出现错误。当我达到大约 200000 时(第一个达到此数字的分区失败,但上述例外情况除外。我可以看到 RAM 还没有出现 - 那里仍有空间(已使用 8GB - 3.5GB - 大约 4GB 可用空间)。
我还在 GSC 控制台(我在日志中找不到)中看到了一些关于 FastConcurrentSkipListMap 的迭代器导致问题的附加信息:
如果有人喜欢访问 gigaspaces 论坛上的问题,请点击此处。
java - 如何以编程方式为 ElasticSpaceDeployment 配置 GigaSpaces XAP 持久性?
我正在使用 GigaSpaces XAP 9.6 并希望通过在部署时传递持久性配置(SpaceDataSource、SpaceSynchronizationEndpoint)以编程方式(通过 Admin API)部署 ElasticSpaceDeployment(纯空间 PU)。
目前,我可以在没有持久性配置的情况下以编程方式部署 ElasticSpaceDeployment(GSM 将选择“DEFAULT”空间模式来部署 PU)。但我找不到任何 API 来设置持久性配置或在部署时将空间模式设置为“PERSISTENT”。
我尝试使用“DEFAULT”架构部署 PU,并使用 UrlSpaceConfigurer 配置持久性,例如:
GigaSpace gigaSpace = new GigaSpaceConfigurer(new UrlSpaceConfigurer("jini://...") .schema("persistent") .cachePolicy(new LruCachePolicy()) .spaceSynchronizationEndpoint(...) .spaceDataSource(...) .space ()).gigaSpace();
我知道使用 GS 上面的代码将返回找到的空间(如果存在)或创建新空间(如果不存在)。因此,此代码不是尝试重新配置空间配置,而是获取它们。
此外,当我部署 ElasticSpaceDeployment 时,GS 将使用“DEFAULT”模式(没有持久性配置)自动为这个 PU 创建空间。所以 ....
1) 如何在部署时为 ElasticSpaceDeployment PU 定义持久性配置?
2) 或者,如何重新配置空间的持久性配置?(部署它并稍后重新配置)
感谢您的帮助!
java - 使用 Maven 在 IntelliJ 中构建时解决 PermGen 错误?
如果我在使用 Maven 在 IntelliJ 中构建项目时从应用服务器收到 PermGen OutOfMemoryError,我应该增加 Maven 使用的堆吗?当我使用 maven 重建项目时,我使用 Win7、8GB RAM 并从 appserver 获得 PermGen。
java - Gigaspaces 集群中的 Web 应用程序 SLA
今天我需要将我的 web 应用程序(作为 .war)与嵌入空间部署到集群服务网格中。但是当我在 pu.xml 中定义 sla 属性时 - 只部署了一个实例。
你可以在下一个链接上看到我的源代码 -这个
java - Gigaspaces:动态“模板类”加载导致 TypeManager.registerTypeDescriptor(Class) 上的“ClassNotFoundException”
千兆空间 9.6,Java 6
我正在开发模块系统,它从不在系统类路径中的外部 .jar 文件中动态加载模块的类。每个模块都有自己的类加载器(用于沙盒目的)。一旦我从外部 jar 加载了 TEMPLATE CLASS 并将其注册到 TypeManager,它就会导致 ClassNotFoundException。
(我尝试通过将包含模板类的 .jar 添加到系统类路径中来解决问题,它可以工作!这表明 LRMI 的动态类加载正常工作。)
这是堆栈跟踪:
警告:异步执行失败:java.lang.ClassNotFoundException:DefaultClassProvider [4756891978928899637] 无法在指定的类加载器 [1] 中找到所需的类 [employeedb.dto.Employee],request=com.tum.108af67ad46743668d724c8caa45e160_container1:com.tum.11687ad467436 =>RegisterEntryTypeDescriptorSpaceOperationRequest[typeName=employeedb.dto.Employee,checksum=1804124240,gatewayProxy=false] 严重:org.openspaces.core.SpaceMetadataException:registerTypeDescInServers() 远程任务执行出错。类型名称=employeedb.dto.Employee;嵌套异常是 java.lang.ClassNotFoundException:DefaultClassProvider [4756891978928899637] 无法在 org.openspaces.core.exception.DefaultExceptionTranslator 的指定类加载器 [1] 中找到所需的类 [employeedb.dto.Employee]。
我的问题是:
如果常规 LRMI 服务器(GSC)/LRMI 客户端的 CLASS PATH 中不存在该类,我是否能够实现我自己的类加载器,它将代理类加载到外部 jar 中?
sql - 千兆空间中的对象老化
我对 Gigaspaces 还很陌生。我正在使用轮询容器从空间中获取事件,然后通过 HTTPS 连接发送这些事件。如果连接的服务器端点变得不可用,我需要将事件对象的状态更新为“阻塞”并将它们重新排列在空间中以供以后重试(为此我有一个单独的轮询容器,专门寻找被阻塞的事件)。
我正在努力寻找一种好方法来确保被阻止的事件轮询容器不会在被阻止的事件上过度旋转(即读取事件,发现端点仍然被阻止,将它们写回空间和然后立即重新阅读它们)。
有没有办法可以延迟重新读取空间中的事件。选项可能包括:
- 在写回对象之前设置/更新对象的时间戳,然后将其与轮询过程中的当前时间进行比较(为此,我希望我必须使用包含 SYSDATE 作为 EventTemplate 的 SQLQuery,但我必须每次我想更新对象而不是使用 System.currentTimeMillias 或等效项时查询 SYSDATE 空间,以确保我将苹果与苹果进行比较?)
- 在阻塞的事件轮询容器或侦听器上应用某种配置设置,使其仅定期轮询。
eclipse - java.lang.NoClassDefFoundError: Lorg/openspaces/core/GigaSpace
我正在尝试将 Gigaspaces 与 Spring 一起使用!我有两个日食项目。一个消耗 Gigaspaces 空间的 spring 休息服务(另一个 eclipse 项目)。我有一个主 Eclipse 项目,我有两个项目。
我的问题是我想在我的 Tomcat v7.0 上部署我的休息服务,它崩溃并向我展示:
似乎tomcat找不到gigaspace的罐子。但我将它们包含在我的 pom.xml 中:
知道如何解决吗?
maven - 同时将多个工件部署到 Gigaspaces
我的项目中有一个相当复杂的结构,它由 7 个独立的工件组成,现在使用 bash 脚本部署:
我们有 7 条这样的线路。由于-initialization-timeout
整个项目部署时间长。我知道 Gigaspaces 可以同时部署多个工件,尊重它们的顺序/依赖关系。
我没有在官方 wiki 或文档上找到任何信息或指南。
classpath - Gigaspaces:为 PU 设置具有运行时依赖项的目录
我的处理单元具有运行时依赖关系,如果我将它们放入 $GigaSpaces_root/lib/required 中,那么我的 PU 可以正常部署。
但我想保持 GS 根发行版不附加(甚至由 root 拥有)并将这些库放入其他一些自定义目录中。但我找不到配置 GS 以在我的自定义目录中查找依赖项的方法。PRE_CLASSPATH、CLASSPATH、POST_CLASSPATH 没有帮助。其他有用的变量在 GS 初始化时被 setenv.sh 覆盖。我做了什么:
问题是如何配置 GS 在自定义目录中查找库?
java - gigaspaces gs.bat 无法执行 java 命令
我正在尝试使用 java 1.7.0_55-b13 执行 gigaspaces 9.7.1-ga-b10800 gs-agent.bat (依次调用 gs.bat)。通过回显,我在行上追踪了问题
来自 gs.bat。
我错过了什么吗?有没有地方可以检查某些版本的 gigaspaces 和 java 是否兼容?
java 1.6 版可以很好地与这个版本的 gigaspaces 配合使用。
我读了这个:
请注意,从 8.0 版本开始,GigaSpaces XAP 将不再支持 Java 1.5 SDK,需要使用 Java 1.6 SDK 或更高版本。有关 Java 1.4 & 1.5 SDK EOL 的详细信息,请参考以下页面:http: //java.sun.com/products/archive/eol.policy.html
但它没有说明 java 7 和 gigaspaces 9.7.1。
确切的命令是([SOME...] 表示其他一些字符串):
输出呈现以下内容:
java 版本“1.7.0_55”Java(TM) SE
运行时环境(构建 1.7.0_55-b13)
Java HotSpot(TM) 64 位服务器 VM(构建 24.55-b03,混合模式)用法:java [-options] class [args...]
(执行一个类)或java [-options] -jar jarfile [args...]
(执行一个jar文件)其中选项包括:
-d32 使用 32 位数据模型(如果可用)
等。
最好的问候,
暴君