Derby Network Server - принимать подключения от нескольких хостов - derby.drda.host

В документации по дерби написано

derby.drda.host= имя хоста

Свойство прослушивает хост для сетевых подключений, т.е. принимает соединения от них. Если указано 0.0.0.0, соединения с любого хоста принимаются.

Теперь у меня есть три удаленных компьютера, hostA, hostB, hostC,

  • Мой сервер дерби работает на hostA,
  • Я хочу, чтобы сервер derby прослушивал соединения от hostA, hostB, hostC

Итак, я написал

props.setProperty("derby.drda.host", "hostA hostB hostC");

Однако это не работает. Есть ли другой способ?

Редактировать:

Когда я устанавливаю свойство как

props.setProperty("derby.drda.host" , "hostA");

затем hostB а также hostC не могут подключиться к серверу. Они получают ниже исключения

java.sql.SQLNonTransientConnectionException: java.net.ConnectException: Ошибка соединения с сервером hostA через порт 8888 с сообщением Отказ в соединении: соединение.

Тем не менее, когда я устанавливаю свойство как

props.setProperty("derby.drda.host" , "0.0.0.0");

тогда все хосты (hostA, hostB, hostC) умеют подключаться к серверу.

1 ответ

Я полагаю, вы неправильно поняли, для чего используется это свойство. Это сделано для того, чтобы вы могли указать Derby, по какому IP-адресу сервера принимать соединения, если у вас несколько сетевых интерфейсов. (Многие серверы имеют более одной сетевой карты или подключены к нескольким сетям одновременно и, таким образом, имеют несколько IP-адресов).

Настройка по умолчанию 0.0.0.0 означает, что он должен принимать любое запрашиваемое соединение на любом из IP-адресов сервера. Если вы установите это значение в нечто иное, чем 0.0.0.0, он будет прослушивать только соединения, ориентированные только на этот IP.

Это не ограничивает клиентские соединения на основе их IP.

Я считаю, что вам нужно иметь следующий набор:

System.setProperty("derby.drda.startNetworkServer", "true");

Чтобы запустить Derby в качестве сетевого сервера (а не просто запустить его в JVM, как я полагаю, было поведение по умолчанию).

Другие вопросы по тегам