Как я могу запустить файл .Jar на Aws ec2 без логина и кли? - PullRequest
0 голосов
/ 19 февраля 2019

Я создал java-сервер, который связан с firebase.Этот сервер используется для прослушивания изменений в Firebase и соответствующего обновления базы данных.Для того, чтобы он работал постоянно, я добавил CountDownLatch в свою основную функцию, вот мой код.

    CountDownLatch latch = new CountDownLatch(1);
    while (true)
    {
        nextGamesRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot snapshot) {
                nextGames = snapshot;
                setNextGame(nextGames);
            }
            @Override
            public void onCancelled(DatabaseError error) {
                System.out.println(error.toString());
                System.out.println("3");
            }
        });
        latch.await();
    }

Я делюсь приведенным выше кодом, потому что я новичок в Java и действительно ценю предложения, если есть лучший способ сделать это.

Давайте перейдем к делу.Я упаковал весь свой проект в файл jar и развернул этот файл на своем экземпляре Aws ec2.Все работает нормально, за исключением того, что мне всегда нужно вызывать этот класс с моего персонального компьютера.Я хочу, чтобы этот файл запускался сам по себе, без необходимости вызывать его из внешней системы.Я взглянул на tomcat, но он работает по HTTP-запросу или дайте мне знать, если я неправильно понимаю tomcat.

Итак, вопрос в том.Как я могу запустить этот Jar на моем экземпляре раз и навсегда.

1 Ответ

0 голосов
/ 19 февраля 2019

Развертывание в AWS - это очень широкая тема, включающая ASG и Loadbalancing для высокой доступности, масштабируемости и отказоустойчивости.Jenkins / Terraform / Docker / Packer for CICD.

Но просто чтобы ответить на ваш вопрос, используйте функцию «Данные пользователя» экземпляра Ec2 и укажите команду, которую вы хотите выполнить.Упоминание команды в пользовательских данных обеспечит выполнение команды при запуске Ec2.

Например,

java -cp /home/ec2-user/App.jar com.test.MySampleClass

Предположение: App.jar уже доступен в экземпляре Ec2.

Если это веб-приложение, его можно развернуть в tomcat.,Снова используйте функцию данных пользователя Ec2 и упомяните набор команд для загрузки tomcat и запуска его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...