public static void main(String[] args) throws NameResolutionException, TypeMismatchException, QueryInvocationTargetException, FunctionDomainException { ServerLauncher serverLauncher = new ServerLauncher.Builder() .setMemberName("server1") .setServerPort(40404) .set("start-locator", "127.0.0.1[9090]") .build(); serverLauncher.start(); String queryString = "SELECT * FROM /gemregion"; ClientCache cache = new ClientCacheFactory().create(); QueryService queryService = cache.getQueryService(); Query query = queryService.newQuery(queryString); SelectResults results = (SelectResults)query.execute(); int size = results.size(); System.out.println(size); } }尝试在我的 Java 应用程序中运行定位器和服务器,但出现以下异常:线程“main”中的异常 java.lang.IllegalStateException:此 VM 中已存在与分布式系统的连接。它具有以下配置: ack-severe-alert-threshold="0"ack-wait-threshold="15" archive-disk-space-limit="0"archive-file-size-limit="0" async- distribution-timeout="0"async-max-queue-size="8" async-queue-timeout="60000"bind-address="" cache-xml-file="cache.xml"cluster-configuration-dir= "" cluster-ssl-ciphers="any"cluster-ssl-enabled="false" cluster-ssl-keystore=""cluster-ssl-keystore-password="" cluster-ssl-keystore-type=""cluster-ssl-require-authentication="true" cluster-ssl-truststore="" cluster-ssl-truststore-password="" conflate-events="server"keep-sockets="true" delta-propagation="true"deploy-working-dir="C:\Users\Saranya\IdeaProjects\Gemfire"disable-auto-reconnect="false" disable-tcp="false"分布式系统id="-1"分布式事务="false "持久客户端 ID="" 持久客户端超时="300"启用集群配置="真"启用网络分区检测="真"启用时间统计="假" 强制唯一-主机=“假”gateway-ssl-ciphers="any" gateway-ssl-enabled="false"gateway-ssl-keystore="" gateway-ssl-keystore-password=""如何解决这个异常?
1 回答
呼啦一阵风
TA贡献1802条经验 获得超6个赞
这里的错误是不言自明的:在单个 JVM 中不能有多个与分布式系统的连接。在这种特殊情况下,您在同一个 JVM 中同时启动服务器缓存 ( ServerLauncher
) 和客户端缓存 ( ClientCacheFactory
),这是不受支持的。
要解决此问题,请使用两种不同的应用程序或 JVM,一种用于服务器,另一种用于执行查询的客户端。
干杯。
添加回答
举报
0/150
提交
取消