Клиент SymmetricDS выдает AuthenticationException

INFO  [client-001-job-3] o.j.s.s.impl.DataLoaderService - Using registration URL of http://localhost:8080/sync/server/registration?nodeGroupId=client&externalId=001&syncURL=http%3A%2F%2Flocalhost%3A8081%2Fsync%2Fclient-001&schemaVersion=%3F&databaseType=H2&databaseVersion=1.4&symmetricVersion=3.11.9&deploymentType=client&hostName=XXXXXXX&ipAddress=XX3
ERROR [client-001-job-3] o.j.s.s.impl.RegistrationService - Unexpected error during registration: org.jumpmind.symmetric.transport.AuthenticationException
org.jumpmind.symmetric.transport.AuthenticationException: null
    at org.jumpmind.symmetric.transport.http.HttpIncomingTransport.openStream(HttpIncomingTransport.java:139)
    at org.jumpmind.symmetric.transport.http.HttpIncomingTransport.openReader(HttpIncomingTransport.java:156)
    at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromTransport(DataLoaderService.java:592)
    at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromPull(DataLoaderService.java:302)
    at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataFromPull(DataLoaderService.java:258)
    at org.jumpmind.symmetric.service.impl.RegistrationService.attemptToRegisterWithServer(RegistrationService.java:505)
    at org.jumpmind.symmetric.service.impl.RegistrationService.registerWithServer(RegistrationService.java:481)
    at org.jumpmind.symmetric.service.impl.PullService.pullData(PullService.java:89)
    at org.jumpmind.symmetric.job.PullJob.doJob(PullJob.java:48)
    at org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:227)
    at org.jumpmind.symmetric.job.AbstractJob.run(AbstractJob.java:298)
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:835)

Я не знаю, почему возникает эта ошибка symetricDS.


person Gábor Csikós    schedule 30.05.2020    source источник
comment
Похоже, что клиенту удалось связаться с сервером. Есть ли соответствующий лог на сервере? Всегда старайтесь сопоставлять логи для более полной картины   -  person Boris Pavlović    schedule 31.05.2020
comment
Последний журнал на сервере по-прежнему: INFO [server-job-1] o.j.s.route.DataGapFastDetector — запрос данных в промежутках из базы данных занял 7 мс INFO [server-job-1] o.j.s.route.DataGapFastDetector — полный анализ промежутков выполняется после 7 мс Проблема на стороне клиента, когда он открывает соединение: int code = connection.getResponseCode(); переключатель (код) { case WebConstants.SC_FORBIDDEN: httpTransportManager.clearSession(connection); бросить новое исключение AuthenticationException(); Это исключение выдается на клиентском сайте   -  person Gábor Csikós    schedule 31.05.2020
comment
Springboot как-то защищает конечную точку на сервере?   -  person Boris Pavlović    schedule 31.05.2020
comment
ООО, подождите, я добавлю его в свой SecurityFilter. ПРЕДУПРЕЖДЕНИЕ [http-nio-8080-exec-1] o.j.s.s.impl.RegistrationService — невозможно зарегистрировать клиентский узел, если не существует ссылки на группу узлов, поэтому регистрирующий узел может получать обновления конфигурации. Пожалуйста, добавьте ссылку на группу, в которой идентификатор исходной группы — это сервер, а идентификатор целевой группы — клиент. WARN [http-nio-8080-exec-1] o.j.s.web.RegistrationUriHandler — client:001:? не дали зарегистрироваться.   -  person Gábor Csikós    schedule 31.05.2020
comment
Но у меня есть это в базе данных сервера: -- сервер отправляет изменения клиенту, когда клиент получает от сервера вставку в sym_node_group_link (source_node_group_id, target_node_group_id, data_event_action) значения ('server', 'client', 'W'); -- клиент отправляет изменения на сервер, когда клиент отправляет серверу вставку в sym_node_group_link (source_node_group_id, target_node_group_id, data_event_action) значения ('client', 'server', 'P');   -  person Gábor Csikós    schedule 31.05.2020


Ответы (1)


Мне также нужно было зарегистрировать URL-адрес клиентов/синхронизации.

  @Bean
  public ServletRegistrationBean<SymmetricServlet> symServlet() {
    ServletRegistrationBean<SymmetricServlet> bean = new ServletRegistrationBean<>(new SymmetricServlet(), "/sync/*");
    bean.setLoadOnStartup(1);
    return bean;
  }
person Gábor Csikós    schedule 07.06.2020