Hibernate、Spring、および Jersey で構成されるスタックがあります。
多くのものが RESTFUL ですが、私たちのアプリケーションのすべてが RESTFUL であるわけではありません (さまざまな理由から、そうではありません。私は RESTFUL のベスト プラクティスをところどころ破っていることに気付きました)。
私は2つのことをする必要があり、両方を実現する方法がわかりません。
私のapplication-context.xmlには次のものがあります
<!-- Configure the entity manager factory bean -->
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter"/>
<property name="packagesToScan" value="com.mystuff.model"/>
<property name="jpaProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
<prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">create</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.import_files">data.sql</prop>
</props>
</property>
これは通常、休止状態のデータをデータベースにロードします。ただし、サービスの一部のメモリ構造を初期化する必要もあります。
super.initiate() への呼び出しまたは AbstractResourceModelListener を実装してから onLoaded(AbstractResourceModelContext modelContext) を提供したにもかかわらず、サービスに ServletContainer を拡張させて開始をオーバーライドしようとすると、data.sql によって提供される初期データが存在しないため、null ポインターが取得されます。 .
data.sql をロードし、サービスがロードされたときにいくつかのステートメントを実行できるようにするにはどうすればよいですか?
(誰かが興味を持っているなら、はい、サービスは @Singleton です)
どんな助けでも感謝します。