2009-06-08 8 views
1

私はmaven-jetty-pluginを使用してSpringアプリケーションを実行しています。当初、データソースはSpring内部で宣言されていました。外部のconstratinsのために、私はJNDIに移動しました。私は地元の発展のために使用桟橋-env.xmlセクションでは、次のとおりです。再起動の間にJettyでHSQLDBを再利用できません

<New id="dataSource" class="org.mortbay.jetty.plus.naming.Resource"> 
    <Arg></Arg> 
    <Arg>jdbc/DataSource</Arg> 
    <Arg> 
     <New class="com.mchange.v2.c3p0.ComboPooledDataSource"> 
      <Set name="driverClass">org.hsqldb.jdbcDriver</Set> 
      <Set name="jdbcUrl">jdbc:hsqldb:file:target/file.db;shutdown=true 
      </Set> 
      <Set name="user">sa</Set> 
      <Set name="password"></Set> 
      <Set name="initialPoolSize">3</Set> 
      <Set name="maxPoolSize">5</Set> 
      <Set name="numHelperThreads">2</Set> 
      <Set name="breakAfterAcquireFailure">true</Set> 
     </New> 
    </Arg> 
</New> 

データベースがロックされたままなので残念ながら私は、Webコンテキストを再起動することができるように見ることができません。私がここで間違っていることに関する考えは?

答えて

0

サーバーを完全にシャットダウンできますか?私。あなたの開発環境はどうやって「走っていますか?どのようにあなたはそれをシャットダウンしていますか?

Eclipseで実行している場合、コンソールで「enter」を押すとシステムが正常にシャットダウンされ、dbにファイルロックが解除されます。しかし、あなたの環境を「殺している」場合(Eclipseの赤い停止ボタン、あるいはコンソールからctrl-cをクリックした場合)、HSQLDBは​​ファイルベースのロックを解放するように変更することはできません。

これを開発のためにすべて実行している場合 - インメモリデータベースを実行することを考慮していますか?これは、開発と自動化されたユニットテストをはるかに高速化します!

関連する問題