- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Apache Geode 的新手,我正在尝试一个示例程序来存储日期,例如:
empid:col1:col2
1:10:15
我已经编写了一个示例程序,但在运行时它给出了如下错误:“在池中注册实例化器时出错:”。如果我浏览日志,我可以看到记录已插入到区域中,但在查询时我也会收到以下错误:
Result : false
startCount : 0
endCount : 20
Message : A ClassNotFoundException was thrown while trying to deserialize cached value.
分享完整代码。数据入口.java
package com.apache.geode;
import java.util.Map.Entry;
import com.gemstone.gemfire.cache.Region;
import com.gemstone.gemfire.cache.client.ClientCache;
import com.gemstone.gemfire.cache.client.ClientCacheFactory;
import com.gemstone.gemfire.cache.client.ClientRegionShortcut;
import com.gemstone.gemfire.cache.query.FunctionDomainException;
import com.gemstone.gemfire.cache.query.NameResolutionException;
import com.gemstone.gemfire.cache.query.QueryInvocationTargetException;
import com.gemstone.gemfire.cache.query.TypeMismatchException;
public class DataEntry {
public static void main(String[] args) throws FunctionDomainException,TypeMismatchException, NameResolutionException, QueryInvocationTargetException {
ClientCache cache = new ClientCacheFactory().addPoolLocator(
"10.77.17.17", 10334).create();
Region<String, CustomerValue> customer = cache
.<String, CustomerValue> createClientRegionFactory(
ClientRegionShortcut.CACHING_PROXY)
.setValueConstraint(CustomerValue.class)
.setKeyConstraint(String.class).create("custRegion");
CustomerValue customerValue = new CustomerValue(10, 15);
customer.put("1", customerValue);
System.out.println("successfully Put customer object into the cache");
for (Entry<String, CustomerValue> entry : customer.entrySet()) {
System.out.format("key = %s, value = %s\n", entry.getKey(),
entry.getValue());
}
cache.close();
}
消费者值(value).java
package com.apache.geode;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
import com.gemstone.gemfire.DataSerializable;
import com.gemstone.gemfire.Instantiator;
public class CustomerValue implements DataSerializable{
private static final long serialVersionUID = -5524295054253565345L;
private int points_5A;
private int points_10A;
static {
Instantiator.register(new Instantiator(CustomerValue.class, 45) {
public DataSerializable newInstance() {
return new CustomerValue();
}
});
}
public CustomerValue()
{
}
public CustomerValue(int points_5A,int points_10A)
{
this.points_10A=points_10A;
this.points_5A=points_5A;
}
public int getPoints_5A() {
return points_5A;
}
public void setPoints_5A(int points_5a) {
points_5A = points_5a;
}
public int getPoints_10A() {
return points_10A;
}
public void setPoints_10A(int points_10a) {
points_10A = points_10a;
}
@Override
public String toString()
{
return "customer [ 5Apoints=" + points_5A +",10Apoints=" + points_10A +"]";
}
public void fromData(DataInput in) throws IOException {
this.points_5A=in.readInt();
this.points_10A=in.readInt();
}
public void toData(DataOutput io) throws IOException {
io.writeInt(points_5A);
io.writeInt(points_10A);
}
输出日志:
[info 2015/08/13 14:28:23.452 UTC <main> tid=0x1] Running in local mode since mcast-port was 0 and locators was empty.
[info 2015/08/13 14:28:23.635 UTC <Thread-0 StatSampler> tid=0x9] Disabling statistic archival.
[config 2015/08/13 14:28:23.881 UTC <main> tid=0x1] Pool DEFAULT started with multiuser-authentication=false
[config 2015/08/13 14:28:23.938 UTC <poolTimer-DEFAULT-3> tid=0x13] Updating membership port. Port changed from 0 to 59,982.
[warning 2015/08/13 14:28:24.176 UTC <main> tid=0x1] Error registering instantiator on pool:
com.gemstone.gemfire.cache.client.ServerOperationException: : While performing a remote registerInstantiators
at com.gemstone.gemfire.cache.client.internal.AbstractOp.processAck(AbstractOp.java:257)
at com.gemstone.gemfire.cache.client.internal.RegisterInstantiatorsOp$RegisterInstantiatorsOpImpl.processResponse(RegisterInstantiatorsOp.java:140)
at com.gemstone.gemfire.cache.client.internal.AbstractOp.processResponse(AbstractOp.java:219)
at com.gemstone.gemfire.cache.client.internal.AbstractOp.attemptReadResponse(AbstractOp.java:167)
at com.gemstone.gemfire.cache.client.internal.AbstractOp.attempt(AbstractOp.java:373)
at com.gemstone.gemfire.cache.client.internal.ConnectionImpl.execute(ConnectionImpl.java:261)
at com.gemstone.gemfire.cache.client.internal.pooling.PooledConnection.execute(PooledConnection.java:323)
at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.executeWithPossibleReAuthentication(OpExecutorImpl.java:932)
at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:162)
at com.gemstone.gemfire.cache.client.internal.PoolImpl.execute(PoolImpl.java:660)
at com.gemstone.gemfire.cache.client.internal.RegisterInstantiatorsOp.execute(RegisterInstantiatorsOp.java:42)
at com.gemstone.gemfire.internal.cache.PoolManagerImpl.allPoolsRegisterInstantiator(PoolManagerImpl.java:219)
at com.gemstone.gemfire.internal.InternalInstantiator.sendRegistrationMessageToServers(InternalInstantiator.java:206)
at com.gemstone.gemfire.internal.InternalInstantiator._register(InternalInstantiator.java:161)
at com.gemstone.gemfire.internal.InternalInstantiator.register(InternalInstantiator.java:89)
at com.gemstone.gemfire.Instantiator.register(Instantiator.java:175)
at CustomerValue.<clinit>(CustomerValue.java:16)
at DataEntry.main(DataEntry.java:22)
Caused by: java.lang.ClassNotFoundException: CustomerValue$1
at com.gemstone.gemfire.internal.ClassPathLoader.forName (ClassPathLoader.java:422)
at com.gemstone.gemfire.internal.InternalDataSerializer.getCachedClass (InternalDataSerializer.java:4066)
at com.gemstone.gemfire.internal.cache.tier.sockets.command.RegisterInstantiators.cmdExecute(RegisterInstantiators.java:89)
at com.gemstone.gemfire.internal.cache.tier.sockets.BaseCommand.execute(BaseCommand.java:182)
at com.gemstone.gemfire.internal.cache.tier.sockets.ServerConnection.doNormalMsg(ServerConnection.java:787)
at com.gemstone.gemfire.internal.cache.tier.sockets.ServerConnection.doOneMessage(ServerConnection.java:914)
at com.gemstone.gemfire.internal.cache.tier.sockets.ServerConnection.run(ServerConnection.java:1159)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at com.gemstone.gemfire.internal.cache.tier.sockets.AcceptorImpl$1$1.run(AcceptorImpl.java:580)
at java.lang.Thread.run(Thread.java:745)
successfully Put customer object into the cache
key = 1, value = customer [ 5Apoints=10,10Apoints=15]
[info 2015/08/13 14:28:24.225 UTC <main> tid=0x1] GemFireCache[id = 712610161; isClosing = true; isShutDownAll = false; closingGatewayHubsByShutdownAll = false; created = Thu Aug 13 14:28:23 UTC 2015; server = false; copyOnRead = false; lockLease = 120; lockTimeout = 60]: Now closing.
[info 2015/08/13 14:28:24.277 UTC <main> tid=0x1] Resetting original MemoryPoolMXBean heap threshold bytes 0 on pool PS Old Gen
[config 2015/08/13 14:28:24.329 UTC <main> tid=0x1] Destroying connection pool DEFAULT
最佳答案
您的 CustomerValue 类需要位于服务器的类路径中。请引用geode documentation关于如何将 jar 部署到服务器。
关于java - 如何在 Apache Geode 中存储多列数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31994751/
我正在尝试执行以下操作: 使用 redis 连接器将一些数据放入 geode 使用 CacheListener 对一些关键的创建/更新事件作出 react 使用 Geode 客户端及其区域上的 ent
我使用 Apache Geode 作为缓存解决方案。我需要将数据存储在两个不同的区域中,并通过简单的联接查询检索它们。 我尝试了复制区域和分区区域,但发现查询需要很长时间才能返回结果。我也在这两个区域
下午好, 我们正在尝试将应用程序从 Redis 迁移到 Geode 集群,以获得更好的可扩展性和多 WAN 同步。目前我们只测试一个集群。设置为: 8 台硬件服务器(64 核 CPU、256GB RA
我目前正在使用 Spring Boot Starter 1.4.2.RELEASE 和 Geode Core 1.0.0(通过 Maven 进行孵化),针对由 Geode Locator 和 2 个缓
我有一个 Geode 系统,带有一个定位器、三个缓存服务器和一个客户端。在这些服务器内部,有一个我的数据所在的分区区域。我想要做的是在每个服务器上运行一个函数来获取该特定服务器上的数据。我开始编写下面
我有几个对象要合并到场景图中。 Street继承自 Geode并且有一个 Geometry由 GL_LINE_STRIP 组成的子可绘制对象。 Pointer继承自 PositionAttitudeT
我们的系统出现了一个奇怪的问题。 例如我们有一个由 2 个节点组成的集群。 Geode Locator 在主节点上运行,有一个远程节点运行 Geode 客户端。当客户端出现网络问题(数据包丢失)一段时
我正在做一些研究,我需要 Apache Geode 的基准测试,也许可以与 Redis 或 Hazelcast 进行比较。如果有人能指出我这一点,我们将不胜感激。 在 Pivotal 的一个演示文稿中
我们使用 VS 并集成了以下 Web 框架 https://visualstudio.microsoft.com/vs/features/web/frameworks/ 角度维埃 react Boot
TL;DR - Apache Geode CacheListener 在应用程序启动后停止监听。 我正在尝试为 Apache Geode 设置监听器。我使用 Web 和 JPA 创建了一个 Sprin
版本 1.10,clientSecurity 的 Apache geode 示例 当我构建项目并执行“启动”任务时,启动服务器时总是出现 GemFireSecurityException。即使我可以在
我是 Apache Geode 的新手,我正在尝试一个示例程序来存储日期,例如: empid:col1:col2 1:10:15 我已经编写了一个示例程序,但在运行时它给出了如下错误:“在池中注册实例
下面是我的集群配置。 缓存 1 在第一个 JVM 上运行 Properties properties = new Properties(); properties.setProperty
我想用自定义二进制数据(序列化)扩展 geode。是否有关于如何使用 geode 启动最小设置/系统的文档?我看到一个docker image但没有找到关于此的任何文档。 对我来说,拥有一个可以通过
我使用下面的代码连接到远程Geode集群 ClientCache clientCache = new ClientCacheFactory().addPoolLocator("www.
在 Geode 版本 1.10.0 中,如何从执行两者的 LuceneQueryFactory 创建 LuceneQuery Lucene 查询字符串 动态查询 一口气吗? 换句话说,是否有一种机制可
我在运行 OSG 应用程序时收到以下消息: CullVisitor::apply(Geode&) detected NaN, depth=nan, center=(1.79588 1.5048
我是 Apache Geode 的新手,并尝试在我的 java 应用程序中运行定位器和服务器,但启动应用程序时出现异常。这是我用于启动定位器和服务器的代码: public static void lo
我正在尝试使用 apache geode 复制一个非常大的值。我基本上做的是使用 redis 的 setbit 功能。当我不断增加 setbit 函数的偏移量时,geode 服务器崩溃了。我正在使用
In most cases, Geode allocates one partitioned region for each data structure. For example, each Sor
我是一名优秀的程序员,十分优秀!