There was a problem with deployment : BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext

There was a problem with deployment
JDK 11 , Tomcat9 , Cuba 7.2
Somebody check it out for me


Thinks!!

catalina.rar (5.7 KB)

Hi,
The meaningful error is not what you posted - it is the first exception in the log.
Here it is:

14:11:09.665 ERROR c.h.c.c.s.AbstractWebAppContextLoader   - Error initializing application
java.lang.RuntimeException: 
=================================================
ERROR: Data store update failed. See details below.
=================================================
Error loading executed scripts
	at com.haulmont.cuba.core.sys.dbupdate.DbUpdaterEngine.getExecutedScripts(DbUpdaterEngine.java:348) ~[cuba-core-7.2.17.jar:7.2.17]
	at com.haulmont.cuba.core.sys.dbupdate.DbUpdaterEngine.findUpdateDatabaseScripts(DbUpdaterEngine.java:123) ~[cuba-core-7.2.17.jar:7.2.17]
	at com.haulmont.cuba.core.sys.dbupdate.DbUpdateManager.checkDatabase(DbUpdateManager.java:99) ~[cuba-core-7.2.17.jar:7.2.17]
	at com.haulmont.cuba.core.sys.dbupdate.DbUpdateManager.applicationInitialized(DbUpdateManager.java:63) ~[cuba-core-7.2.17.jar:7.2.17]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
...
Caused by: java.sql.SQLException: Table 'water.SYS_DB_CHANGELOG' doesn't exist Query: select SCRIPT_NAME from SYS_DB_CHANGELOG Parameters: []
	at com.haulmont.bali.db.QueryRunner.rethrow(QueryRunner.java:464) ~[cuba-global-7.2.17.jar:7.2.17]
	at com.haulmont.bali.db.QueryRunner.query(QueryRunner.java:322) ~[cuba-global-7.2.17.jar:7.2.17]
	at com.haulmont.bali.db.QueryRunner.query(QueryRunner.java:413) ~[cuba-global-7.2.17.jar:7.2.17]
	at com.haulmont.bali.db.QueryRunner.query(QueryRunner.java:388) ~[cuba-global-7.2.17.jar:7.2.17]
	at com.haulmont.bali.db.QueryRunner.query(QueryRunner.java:432) ~[cuba-global-7.2.17.jar:7.2.17]
	at com.haulmont.cuba.core.sys.dbupdate.DbUpdaterEngine.getExecutedScripts(DbUpdaterEngine.java:337) ~[cuba-core-7.2.17.jar:7.2.17]
	... 66 common frames omitted

It means that the database is not initialized, tables don’t exist.
Note that in most cases, unless you somehow update database separately, the database is updated in production automatically on the start. It is enabled by setting the property cuba.automaticDatabaseUpdate to true. You have the opposite value.

see also Execution of Database Scripts by Server - CUBA Platform. Developer’s Manual

1 Like

Thank you very much. I have modified it according to your method