java.lang.IllegalStateException: соединение с распределенной системой уже существует в этой виртуальной машине. Он имеет следующую конфигурацию:
введите описание изображения здесь публичный класс GemfireTest {
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: соединение с распределенной системой уже существует в этой виртуальной машине. Он имеет следующую конфигурацию: ack-heavy-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 = ""
Кластер-SSL-протоколы = "любые"
cluster-ssl-require-authentication = "true" cluster-ssl-truststore = "" cluster-ssl-truststore-password = "" conflate-events = "сервер"
conserve-sockets="true" delta-пропаганда = "правда"
развернуть работоспособный-Dir = "C: \ Users \ Saranya \ IdeaProjects \ Gemfire"
disable-auto -connect="false" disable-tcp="false"
распределенная система-идентификатор ="-1" распределенная транзакция = "ложь"
durable-client-id = "" durable-client-timeout="300"
включить-кластер-конфигурация = "истина"
включить-сеть раздел обнаружение = "истина"
enable-time-statistics = "false" принудительно применять-уникальный-хост = "false"
gateway-ssl-ciphers = "any" gateway-ssl-enabled = "false"
gateway-ssl-keystore = "" gateway-ssl-keystore-password = ""
gateway-ssl-keystore-type = "" gateway-ssl-protocol = "any"
gateway-ssl-require-authentication = "true" gateway-ssl-truststore = "" gateway-ssl-truststore-password = "" groups = ""
http-service-bind-address = "" http-service-port = "7070"
http-service-ssl-ciphers = "any" http-service-ssl-enabled = "false"
http-service-ssl-keystore = "" http-service-ssl-keystore-password = ""
http-service-ssl-keystore-type = "" http-service-ssl-protocol = "any"
HTTP-сервис SSL-требуется аутентификация = "ложь"
HTTP-сервис SSL-= доверенных ""
http-service-ssl-truststore-password = "" jmx-manager = "false"
jmx-manager-access-file = "" jmx-manager-bind-address = ""
jmx-manager-hostname-for-clients = "" jmx-manager-http-port = "7070"
jmx-manager-password-file = "" jmx-manager-port = "1099"
jmx-manager-ssl-ciphers = "any" jmx-manager-ssl-enabled = "false"
jmx-manager-ssl-keystore = "" jmx-manager-ssl-keystore-password = ""
jmx-manager-ssl-keystore-type = "" jmx-manager-ssl-protocol = "любой"
JMX-менеджер-SSL-требуется аутентификация = "истина"
jmx-manager-ssl-truststore = "" jmx-manager-ssl-truststore-password = "" jmx-manager-start = "false" jmx-manager-update-rate = "2000"
load-cluster-configuration-from-dir = "false" locator-wait-time = "0"
locators = "127.0.0.1 [9090]" (хотел "") lock-memory = "false"
срубы дискового пространства предел = "0"
log-file = "C: \ Users \ Saranya \ IdeaProjects \ Gemfire \ server1.log" (требуемый "") log-file-size-limit = "0" log-level = "config" max-num-reconnect-попытки ="3" макс-время ожидания-повторное соединение = "60000"
mcast-address = "/ 239.192.81.1" mcast-flow-control = "1048576, 0.25, 5000" mcast-port = "0" mcast-recv-buffer-size = "1048576"
mcast-send-buffer-size = "65535" mcast-ttl = "32"
member-timeout = "5000" members-port-range = "[1024,65535]"
memcached-bind-address = "" memcached-port = "0"
memcached-protocol = "ASCII" name = "server1" (хотел "")
off-heap-memory-size = "" redis-bind-address = "" redis-password = ""
redis-port = "0" redundancy-zone = "" remote-locators = ""
remove-unresponsive-client = "ложь" role = ""
security-client-accessor = "" security-client-accessor-pp = ""
security-client-auth-init = "" security-client-authenticator = ""
security-client-dhalgo = "" security-log-file = ""
security-log-level = "config" security-manager = ""
security-peer-auth-init = "" security-peer-authenticator = ""
security-peer-verifymember-timeout = "1000" security-post-processor = "" security-shiro-init = "" security-udp-dhalgo = ""
serializable-object-filter = "! " server-bind-address = ""
server-ssl-ciphers = "any" server-ssl-enabled = "false"
server-ssl-keystore = "" server-ssl-keystore-password = ""
server-ssl-keystore-type = "" server-ssl-protocol = "any"
server-ssl-require-authentication = "true" server-ssl-truststore = ""
server-ssl-truststore-password = "" socket-buffer-size = "32768"
socket-lease-time = "60000" ssl-ciphers = "any" ssl-cluster-alias = ""
ssl-default-alias = "" ssl-enabled-components = "[]"
ssl-gateway-alias = "" ssl-jmx-alias = "" ssl-keystore = ""
ssl-keystore-password = "" ssl-keystore-type = "" ssl-locator-alias = "" ssl-protocol = "any" ssl-require-authentication = "true"
ssl-server-alias = "" ssl-truststore = "" ssl-truststore-password = ""
ssl-truststore-type = "" ssl-web-alias = ""
ssl-web-require-authentication = "false" start-dev-rest-api = "false"
start-locator = "127.0.0.1 [9090]" (хотел "")*
статистика-архив-файл = "" статистика-выборка-частота = "1000"
statistics-sampling-enabled = "true" tcp-port = "0"
udp -gment-size = "60000" udp-recv-buffer-size = "1048576"
udp-send-buffer-size = "65535" use-cluster-configuration = "true"
user-command-packages = "" validate-serializable-objects = "false"в org.apache.geode.distributed.internal.InternalDistributedSystem.validateSameProperties(InternalDistributedSystem.java:2959) в org.apache.geode.distributed.DistributedSystem.connect(DistributedSystem.java:199) в org.apache.lient..ClientCacheFactory.basicCreate(ClientCacheFactory.java:243) в org.apache.geode.cache.client.ClientCacheFactory.create(ClientCacheFactory.java:214) в GemfireTest.main(GemfireTest.java:61).
Как решить это исключение?
1 ответ
Ошибка здесь довольно очевидна: вы не можете иметь более одного соединения с распределенной системой в пределах одной JVM. В данном конкретном случае вы запускаете как кеш сервера (ServerLauncher
) и клиентский кеш (ClientCacheFactory
) в той же JVM, которая не поддерживается.
Чтобы решить эту проблему, используйте два разных приложения или JVM, одно для сервера и другое для клиента, выполняющего запрос.
Приветствия.