一般に、休止状態のsessionfactoryは、次のようなSpring構成ファイル(例:spring-dao.xml)で作成されます。
<bean id="mySessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>file:src/hibernate.cfg.xml</value>
</property>
</bean>
そしてダオで、
<bean id="myProductDao" class="product.ProductDaoImpl">
<property name="sessionFactory" ref="mySessionFactory"/>
</bean>
web.xmlでは、構成ファイル(spring-dao.xml)をcontextConfigLocationに配置します。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-dao.xml</param-value>
</context-param>
アプリケーションが起動すると、データソースがすべてのdaoBeanに注入されます。
これが要約でした。私の問題は、アプリケーションの起動時にSpringがデータベースに接続することを望まないことです。管理者(起動後にデータベース接続を開く責任があります)と、Webアプリサーブレットと通信するリモートマシンで動作する管理アプレットがあります。認証に問題がない場合は、Webアプリケーションのデータベース接続を開く必要があります。
どうすればこの目標を達成できますか?