Невозможно запустить файл war на экземпляре Amazon EC2 - PullRequest
0 голосов
/ 02 марта 2019

Я работаю над приложением весенней загрузки с последней версией Angular 7. Я создал сборку и сгенерировал файл war.

Я настроил папку в этой структуре:

project-tool.war
config/application-prod.yml
config/application-dev.yml
config/application.yml
run.sh 
run.bat

В run.sh/run.bat эти команды написаны -> java -jar project-tool.war --spring.profiles.active = prod --spring.config.location = config \ application-prod.yml

Я создал экземпляр базы данных Oracle на AWS и поместил конфигурацию в application-prod.yml.

Затем я запустил этот проект, используя файл war в ОС Windows, онработает нормально.

Мне нужно запустить этот файл войны на экземпляре Amazon EC2.Итак, я загрузил эту папку на средний экземпляр EC2.Когда я запускаю это, он выдает ошибку:

2019-03-02 06:50:53.489 ERROR 3082 --- [ost-startStop-1] o.s.b.web.embedded.tomcat.TomcatStarter  : Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. Message: Error creating bean with name 'securityConfiguration': Unsatisfied dependency expressed through field 'userDetailsService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userDetailsService' defined in URL [jar:file:/home/ec2-user/theProject/project-tool.war!/WEB-INF/classes!/com/myProject/security/DomainUserDetailsService.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userService': Unsatisfied dependency expressed through field 'auditLogService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'auditLogService' defined in URL [jar:file:/home/ec2-user/theProject/project-tool.war!/WEB-INF/classes!/com/myProject/service/AuditLogService.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'auditLogRepository': Cannot create inner bean '(inner bean)#44dbafd9' of type [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean property 'entityManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#44dbafd9': Cannot resolve reference to bean 'entityManagerFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean]: Factory method 'entityManagerFactory' threw exception; nested exception is com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: IO Error: The Network Adapter could not establish the connection
2019-03-02 06:50:53.551  WARN 3082 --- [ost-startStop-1] o.a.c.loader.WebappClassLoaderBase       : The web application [ROOT] appears to have started a thread named [oracle.jdbc.driver.BlockSource.ThreadedCachingBlockSource.BlockReleaser] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Object.wait(Native Method)
 oracle.jdbc.driver.BlockSource$ThreadedCachingBlockSource$BlockReleaser.run(BlockSource.java:327)
2019-03-02 06:50:53.556  WARN 3082 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat

У меня также есть другой экземпляр и другие проекты, работающие нормально (spring и angularJS) подобным образом.Но почему это не работает, есть ли проблемы с командой или с угловым?

Как это работает на Amazon EC2?

1 Ответ

0 голосов
/ 02 марта 2019

Ваша проблема при чтении трассировки стека ошибок - соединение с базой данных.Обратите внимание на сообщение об ошибке ядра Не удалось инициализировать пул: Ошибка ввода-вывода: Сетевой адаптер не смог установить соединение

Я не знаю, как настроена база данных Oracle, но, вероятно, у вас естьпроблема с конфигурацией прослушивателя базы данных или, проще говоря, с сетевым обменом между вашим EC2 и экземпляром базы данных Oracle, который я могу предложить посмотреть в группе безопасности и конфигурации сети.Проблема не в Angular, а в связи между базой данных между вашим приложением и базой данных.

Я надеюсь, что это поможет вам

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