Problemas para conectar contra HSQL

21 views
Skip to first unread message

Augusto Soncini

unread,
Aug 15, 2011, 5:04:32 PM8/15/11
to katar...@googlegroups.com
Hola,
    estoy armando un proyecto nuevo con Katari. La particularidad es que quiero que Katari tranaje contra un HSQL en lugar de MySQL. Tengo la base HSQL levantada, funcionando, y con el script incial ejecutado ("create database educar_web; etc etc etc"). Ya corrí el "mvn archetype:generate", y me generó el esqueleto del proyecto... pero cuando corro "mvn install", de un error al no poder ejecutar los test, porque no encuentra el driver de HSQL. 
En el settings.xml de mi profile tengo lo siguiente:
  <profiles>
    <profile>
      <id>educar_web</id>
      <properties>
<educar_desktop.datasource.url>
    jdbc:hsqldb:hsql://localhost/educar_web
  </educar_desktop.datasource.url>
   <educar_desktop.datasource.username>
      sa
   </educar_desktop.datasource.username>
<educar_desktop.datasource.password/>
        <!-- Starts cargo with jpda enabled for remote debugging in port 8000.
             -->
        <educar_desktop.cargo.jvmargs>
          -Xdebug -Xnoagent -Djava.compiler=NONE
          -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
        </educar_desktop.cargo.jvmargs>
        <!-- You can add log4j configuration options here. -->
        <educar_desktop.log4j>
          log4j.logger.com.globant.katari.sample=TRACE
          log4j.logger.com.globant.katari.editablepages=TRACE
        </educar_desktop.log4j>
      </properties>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>educar_web</activeProfile>
    <activeProfile>dev</activeProfile>
  </activeProfiles>

y el error que da es:
Running com.globant.educar.web.web.testsupport.database.TestDbSupport
java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.
        at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
        at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectio
nPool.java:527)
        at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSour
ce.java:128)
        at com.globant.educar.web.web.testsupport.SpringTestUtils.getConnection(SpringTestUtils.java:61)
        at com.globant.educar.web.web.testsupport.database.DatabaseTestSupport.dropAll(DatabaseTestSuppor
t.java:80)
        at com.globant.educar.web.web.testsupport.database.TestDbSupport.testDoSetup(TestDbSupport.java:4
4)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at junit.framework.TestCase.runTest(TestCase.java:168)
        at junit.framework.TestCase.runBare(TestCase.java:134)
        at junit.framework.TestResult$1.protect(TestResult.java:110)
        at junit.framework.TestResult.runProtected(TestResult.java:128)
        at junit.framework.TestResult.run(TestResult.java:113)
        at junit.framework.TestCase.run(TestCase.java:124)
        at junit.framework.TestSuite.runTest(TestSuite.java:232)
        at junit.framework.TestSuite.run(TestSuite.java:227)
        at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:79)
        at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
        at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTes
tSuite.java:140)
        at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.
java:127)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
        at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
Caused by: com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a re
source from com.mchange.v2.resourcepool.BasicResourcePool@651e95 -- timeout at awaitAvailable()
        at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1317)
        at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:55
7)
        at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectio
nPool.java:525)
        ... 27 more
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.

Please refer to C:\Globant\EducAr\workspace1\main\web\main\educar-web\dev\educar-web-web\target\surefire-
reports for the individual test results.
[INFO] ------------------------------------------------------------------------

Gracias

Pablo Graña

unread,
Aug 15, 2011, 5:23:32 PM8/15/11
to katar...@googlegroups.com
Hay que poner la dependencia del hsql. Fijate c/ mvn dependency:tree
si esta (por el error deberia decir que no esta). O tal vez esta en
test. Si esta como dependencia de test, hay que 'redeclararla' como
dependencia de runtime.

saludos

> --
> You received this message because you are subscribed to the Google Groups
> "katari-user" group.
> To post to this group, send email to katar...@googlegroups.com.
> To unsubscribe from this group, send email to
> katari-user...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/katari-user?hl=en.
>

--
Pablo Gra\~na
Chief Architect
Globant
Arg Office: +54 (11) 4109 1743
UK  Office: +44 (20) 7043 8269 int 8043
US  Office: +1 (212) 400 7686 int 8043

Augusto Soncini

unread,
Aug 16, 2011, 8:59:38 AM8/16/11
to katar...@googlegroups.com
La realidad es que nuestra aplicación es una interface web que "wrappea" una API que es la que expone los recursos. En consecuencia, no necesitamos ninguna interacción con una base local para operar, por lo que podríamos desacoplarla... A menos que Katari necesite una base para configurar y hacer correr los Test... es así, o definitivamente podemos prescindir de la conectividad a la base?
Gracias

2011/8/15 Pablo Graña <pablo...@globant.com>

Andres Postiglioni

unread,
Aug 16, 2011, 9:18:33 AM8/16/11
to katar...@googlegroups.com
Tengo entendido que ya se hizo un proyecto con un setup sin base de datos. Estoy en lo correcto?

Juan Pedro Pereyra

unread,
Aug 16, 2011, 10:06:50 AM8/16/11
to katar...@googlegroups.com
Hay un flavor de Katari que es katari-nodatabase si mal no recuerdo.

Augusto Soncini

unread,
Aug 16, 2011, 11:55:59 AM8/16/11
to katar...@googlegroups.com
Lo traté de bajar como un "archetype", y no lo encuentra... Está publicado, o estoy haciendo algo mal?

Andres Postiglioni

unread,
Aug 16, 2011, 1:38:05 PM8/16/11
to katar...@googlegroups.com
Juan, Hay un archetype para esto? A que te referis especificamente con "un flavour"?

Chasgracias!

Pablo Graña

unread,
Aug 16, 2011, 1:53:59 PM8/16/11
to katar...@googlegroups.com
Nunca armamos un archetype para ese caso. Lo que si hay es un ejemplo
de una webapp sin db. Esta en el source de katari, el modulo se llama
katari-nodatabase. Es un war que no tiene base de datos.

saludos

2011/8/16 Andres Postiglioni <andres.po...@globant.com>:

Reply all
Reply to author
Forward
0 new messages