У меня есть два приложения Java, которые подключены через Hazelcast: < /p>
final var clusterPort = 5701;
final var hazelcastConfig = new Config();
hazelcastConfig.setClusterName("alpha-cluster");
hazelcastConfig.setInstanceName(instanceName);
final var networkConfig = hazelcastConfig.getNetworkConfig();
networkConfig.setPort(5701);
final var joinConfig = networkConfig.getJoin();
joinConfig.getMulticastConfig().setEnabled(false);
final var tcpIpConfig = joinConfig.getTcpIpConfig();
tcpIpConfig.setEnabled(true);
for (int port = clusterPort; port < clusterPort + 10; port++) {
tcpIpConfig.addMember(String.format("%s:%s", this.getHost(), port));
}
return new HazelcastClusterManager(hazelcastConfig);
< /code>
У меня есть следующая dockerfile < /p>
FROM eclipse-temurin:latest
WORKDIR /usr/src/app
COPY alpha-api.jar ./alpha-api.jar
COPY alpha-admin-ui.jar ./alpha-admin-ui.jar
COPY start.sh ./start.sh
RUN chmod +x start.sh
EXPOSE 80
EXPOSE 8081
EXPOSE 5701
EXPOSE 5702
ENTRYPOINT [ "sh", "start.sh" ]
< /code>
и ShellScript start.sh < /p>
#!/bin/sh
CPUS=2
MEMORY=512M
echo "Scripts starts ..."
java -Xmx$MEMORY -XX:ActiveProcessorCount=$CPUS -jar alpha-admin-ui.jar &
java -Xmx$MEMORY -XX:ActiveProcessorCount=$CPUS -jar alpha-api.jar &
wait
< /code>
Сначала работает подключения: < /p>
2023-10-09 09:38:41 Members {size:2, ver:2} [
2023-10-09 09:38:41 Member [localhost]:5701 - 0b43916b-caca-4f5b-afeb-a0fe696c9283 this
2023-10-09 09:38:41 Member [localhost]:5702 - cb43f74b-7cc2-4e53-9af2-9bdeff5823f7
2023-10-09 09:38:41 ]
< /code>
, чем позже, будет брошено исключение: < /p>
2023-10-09 09:38:43 INFO: [localhost]:5701 [vlab-alpha-cluster] [4.2.7] Could not connect to: localhost/127.0.0.1:5702. Reason: IOException[Connection refused to address localhost/127.0.0.1:5702]
2023-10-09 09:38:43 Oct 09, 2023 7:38:43 AM com.hazelcast.internal.server.tcp.TcpServerConnectionErrorHandler
2023-10-09 09:38:43 WARNING: [localhost]:5701 [vlab-alpha-cluster] [4.2.7] Removing connection to endpoint [localhost]:5702 Cause => java.io.IOException {Connection refused to address localhost/127.0.0.1:5702}, Error-Count: 5
< /code>
Поэтому я проверяю контейнер и вижу, что второе приложение Java больше не работает (проверяйте через PS aux)
, чем я запускаю второе приложение (Alpha-Api.jar) снова, чем он работает.
, так что это означает, что процесс подачи заявки на Java убит ОС или в другой системе. Я также запускаю приложение Java непосредственно на моей локальной машине, и оно работает без каких -либо исключений. /> Добавить:
Я запускаю скрипт Start Shell на моей локальной машине, и оба приложения Java начинают общаться друг с другом, так что на самом деле проблема конфигурации Docker или что -то в этом роде. < /p>
Подробнее здесь: https://stackoverflow.com/questions/772 ... ays-killed
Два заявления на Java в Docker One всегда убиты ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Есть ли способ использовать Jackson ObjectMapper, чтобы прочитать объект из JSON One One One
Anonymous » » в форуме JAVA - 0 Ответы
- 33 Просмотры
-
Последнее сообщение Anonymous
-