Image

Imageitaller wrote in Imageru_java

spring/hibernate/h2

Я слегка развлекаюсь и вот на чем застрял:

(1) spring beans -> h2, (jetty -> (2) свои бины)

и hibernate смотрит на h2 (да, я знаю толк в извращениях)

база инициализируется через:
<jdbc:initialize-database data-source="dataSource" enabled="true">
    <jdbc:script location="classpath:/sql/db-schema.sql"/>
</jdbc:initialize-database>

так вот это не работает при отдельном импорте:
<import resource="db-init.xml"/>
если описано в контексте, который загружается в jetty
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.jdbc.datasource.init.DataSourceInitializer#0': Invocation of init method failed; nested exception is org.springframework.dao.DataAccessResourceFailureException: Failed to execute database script; nested exception is org.springframework.jdbc.datasource.init.CannotReadScriptException: Cannot read SQL script from ServletContext resource [/sql/db-schema.sql]

Caused by: org.springframework.jdbc.datasource.init.CannotReadScriptException: Cannot read SQL script from ServletContext resource [/sql/db-schema.sql]

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

возможно ли определить порядок создания бинов в spring, или что-то еще придумать с импортом во второй контекст (во втором контексте веб-сервис, который и лазает в базу)?