Развертывание docker-compose JHipster 6.0.1: пространство кучи Java
У меня есть 2 приложения. Приложение 1 использует JHipster 5.8.2, который я развертываю на каплю Digital Ocean с 2 ГБ ОЗУ и, после загрузки своего изображения в реестр gitlab, запускаю его docker-compose -f app.yml up
(у которого есть _JAVA_OPTIONS=-Xmx512m -Xms256m
) и все работает отлично примерно через 45 секунд.
Приложение 2 было сгенерировано с помощью JHipster 6.0.1 (на самом деле это обновление моего приложения 1). Я использовал аналогичную каплю из Приложения 1 для своего Приложения 2: одноядерный с 2 ГБ ОЗУ, но это не удалось из-за Java Heap Space
, После этого я изменил свою каплю на 4ГБ 2-ядерную каплю и изменил свою app.yml
Конфиг к этому: _JAVA_OPTIONS=-Xmx3072m -Xms2048m
но это все равно не удается с той же проблемой и через 40 минут.
После этой ошибки я попытался запустить образ на моем компьютере с 32 ГБ, через 2 1/2 часа возникла та же проблема.
Вот как я упаковал свое приложение 6.0.1:
/mvnw verify -Pprod -DskipTests
./mvnw jib:build -Dimage=registry.gitlab.com/amatos/project
В моей капельке:
docker-compose -f app.yml up -d
Это должно работать, но оно никогда не проходит черту Web application fully configured
и через несколько минут (в зависимости от объема оперативной памяти) происходит сбой.
Есть ли дополнительный шаг, который я пропускаю?
РЕДАКТИРОВАТЬ: Добавление.yo_rc.json
{
"generator-jhipster": {
"promptValues": {
"packageName": "com.amatos.project",
"nativeLanguage": "es"
},
"jhipsterVersion": "6.0.1",
"applicationType": "monolith",
"baseName": "Project",
"packageName": "com.amatos.project",
"packageFolder": "com/amatos/project",
"serverPort": "8080",
"authenticationType": "session",
"cacheProvider": "ehcache",
"enableHibernateCache": true,
"websocket": "spring-websocket",
"databaseType": "sql",
"devDatabaseType": "mariadb",
"prodDatabaseType": "mariadb",
"searchEngine": false,
"messageBroker": false,
"serviceDiscoveryType": false,
"buildTool": "maven",
"enableSwaggerCodegen": false,
"rememberMeKey": "blabla",
"clientFramework": "angularX",
"clientTheme": "spacelab",
"clientThemeVariant": "light",
"useSass": true,
"clientPackageManager": "npm",
"testFrameworks": [],
"jhiPrefix": "jhi",
"entitySuffix": "",
"dtoSuffix": "DTO",
"otherModules": [
{
"name": "generator-jhipster-paypal",
"version": "1.0.5"
},
{
"name": "generator-jhipster-administration-database",
"version": "1.0.4"
}
],
"enableTranslation": true,
"nativeLanguage": "es",
"languages": [
"es"
],
"appsFolders": [
"project"
],
"directoryPath": "../",
"monitoring": "no",
"jwtSecretKey": "blabla"
}
}
0 ответов
Моя ошибка заключалась в использовании в качестве поля класса домена вместо класса DTO для адреса.
Вопрос по-прежнему в том, почему возникает проблема с памятью при запуске приложения, а не при вызове метода, использующего неисправный класс.