Ayuda con HSQLDB en "Servlet Mode"

58 views
Skip to first unread message

Pablo Augusto Sznajdleder

unread,
Jun 30, 2011, 1:22:46 PM6/30/11
to jav...@googlegroups.com

Gente, necesito levantar HSQLDB para accederla a través de Tomcat. Para esto quiero utilizar la opción "Servlet" que propone la documentación:
http://hsqldb.org/doc/guide/ch01.html#N10168

En el cliente utilizo estos parámetros:
String driver="org.hsqldb.jdbcDriver";
String url="jdbc:hsqldb:http://localhost:8080/ZZHsql/servlet/org.hsqldb.Servlet";


donde ZZHsql es el contexto web dentro del cual configuré el servlet org.hsqldb.Servlet.

El web.xml del contexto ZZHsql es el
<servlet>

<servlet-name>hsqldb</servlet-name>
<servlet-class>org.hsqldb.Servlet</servlet-class>
<init-param>
<param-name>hsqldb.server.database</param-name>
<param-value>D:/java31/hsqldb/testdb</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

En en la webapp obviamente tengo el hsqldb.jar, todo...

Sin embargo cuando en el cliente intento el DriverManager.getConnection me tira la siguiente excepción:

java.sql.SQLException: Connection is broken: Java heap space
    at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
    at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
    at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
    at org.hsqldb.jdbcDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at test.SimpleSelect.main(SimpleSelect.java:29)
Exception in thread "main" java.lang.RuntimeException: java.sql.SQLException: Connection is broken: Java heap space
    at test.SimpleSelect.main(SimpleSelect.java:49)
Caused by: java.sql.SQLException: Connection is broken: Java heap space
    at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
    at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
    at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
    at org.hsqldb.jdbcDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at test.SimpleSelect.main(SimpleSelect.java:29)


La excepción salta en el cliente. El server no arroja ningún tipo de error.


Alguien me puede ayudar ?

Saludos !!!


--
Ing. Pablo Augusto Sznajdleder_________
(5411) 4637-8879  |  15-4419-JAVA (5282)

email: pab...@pablosz.com.ar
skype: pabloszn
http://www.PabloSZ.com.ar
http://www.JavaSOS.com.ar

Marcelo Velazquez

unread,
Jun 30, 2011, 2:27:01 PM6/30/11
to jav...@googlegroups.com
Pablo, haber si te sirve algo de esto:

Vos en el HTTP nose si directmante en el  jdbc:hsqldb: se lo metes y al ser localhost desde el server funciona, pero al hacer http://localhost llamaria a la maquina cliente, igual te paso unos links sobre ello.

http://chuwiki.chuidiang.org/index.php?title=Breve_descripci%C3%B3n_de_HSQLDB

http://forum.springsource.org/showthread.php?82628-java.sql.SQLException-Connection-is-broken


--
www.JavaSOS.com
Grupo de colaboración Java/J2ee para desarrolladores de habla hispana.

Pablo Augusto Sznajdleder

unread,
Jun 30, 2011, 2:36:32 PM6/30/11
to jav...@googlegroups.com
Hola, si... localhost es el serer porque estoy probándolo en mi pc...


--
Ing. Pablo Augusto Sznajdleder_________
(5411) 4637-8879  |  15-4419-JAVA (5282)

email: pab...@pablosz.com.ar
skype: pabloszn
http://www.PabloSZ.com.ar
http://www.JavaSOS.com.ar


2011/6/30 Marcelo Velazquez <mvelaz...@gmail.com>

Marcelo Velazquez

unread,
Jun 30, 2011, 4:03:06 PM6/30/11
to jav...@googlegroups.com
Quise decir que pruebes quitar el "http" de esta lineafijate este ejemplo:

Connecting a hsql database which is running a user defined port(9001)
and user defined database (db9001)
use this below url for your connection
Code:
jdbc:hsqldb:hsql://localhost:9001/db9001

To start hsql db in specific port and user defined database
Code:
java -cp <HOME>/lib/hsqldb.jar org.hsqldb.Server -database.0 file:db9001 -dbname.0 db9001 -port 9001

Jorge Medina

unread,
Jun 30, 2011, 5:37:43 PM6/30/11
to jav...@googlegroups.com
En el modo de web servlet, tu cliente debe conectarse al puerto en que
Tomcat esta escuchando por trafico HTTP. Supongo que estas usando
8080.
El servlet lo has llamado "hsqldb" , por lo tanto el URL en tu cadena
de conexion debe ser:
http://localhost:8080/ZZHsql/servlet/

Por otra parte, el error dice "Java heap space" ¿Estas quedandote sin
memoria en el heap?
¿ya intentaste incrementar la cantidad de memoria disponible en Tomcat?


-Jorge

2011/6/30 Marcelo Velazquez <mvelaz...@gmail.com>:

Pablo Augusto Sznajdleder

unread,
Jul 8, 2011, 7:54:08 AM7/8/11
to JavaSOS

Hola, insisto con este problema.... Alguién pudo hacer funcionar
alguna vez el Servlet de HSQLDB?

El outofmemory me lo tira en el cliente y al momento de establecer la
coneción. No creo que tenga demasiado sentido. Aún así, incrementé la
memoria y todo sigue igual...

Saludos !





On 30 jun, 18:37, Jorge Medina <cerebrotecnolog...@gmail.com> wrote:
> En el modo de web servlet, tu cliente debe conectarse al puerto en que
> Tomcat esta escuchando por trafico HTTP. Supongo que estas usando
> 8080.
> El servlet lo has llamado "hsqldb" , por lo tanto el URL en tu cadena
> de conexion  debe ser:
>                      http://localhost:8080/ZZHsql/servlet/
>
> Por otra parte, el error dice "Java heap space" ¿Estas quedandote sin
> memoria en el heap?
> ¿ya intentaste incrementar la cantidad de memoria disponible en Tomcat?
>
> -Jorge
>
> 2011/6/30 Marcelo Velazquez <mvelazque...@gmail.com>:
>
>
>
>
>
>
>
> > Quise decir que pruebes quitar el "http" de esta linea
>
> > String
> > url="jdbc:hsqldb:http://localhost:8080/ZZHsql/servlet/org.hsqldb.Servlet";
>
> > fijate este ejemplo:
>
> > Connecting a hsql database which is running a user defined port(9001)
> > and user defined database (db9001)
> > use this below url for your connection
> > Code:
>
> > jdbc:hsqldb:hsql://localhost:9001/db9001
>
> > To start hsql db in specific port and user defined database
> > Code:
>
> > java -cp <HOME>/lib/hsqldb.jar org.hsqldb.Server -database.0 file:db9001
> > -dbname.0 db9001 -port 9001
>
> > El 30 de junio de 2011 15:36, Pablo Augusto Sznajdleder
> > <pabl...@pablosz.com.ar> escribió:
>
> >> Hola, si... localhost es el serer porque estoy probándolo en mi pc...
>
> >> --
> >> Ing. Pablo Augusto Sznajdleder_________
> >> (5411) 4637-8879  |  15-4419-JAVA (5282)
>
> >> email: pabl...@pablosz.com.ar
> >> 2011/6/30 Marcelo Velazquez <mvelazque...@gmail.com>
>
> >>> Pablo, haber si te sirve algo de esto:
>
> >>> Vos en el HTTP nose si directmante en el  jdbc:hsqldb: se lo metes y al
> >>> ser localhost desde el server funciona, pero al hacerhttp://localhost
> >>> llamaria a la maquina cliente, igual te paso unos links sobre ello.
>
> >>>http://chuwiki.chuidiang.org/index.php?title=Breve_descripci%C3%B3n_d...
>
> >>>http://forum.springsource.org/showthread.php?82628-java.sql.SQLExcept...
>
> >>> El 30 de junio de 2011 14:22, Pablo Augusto Sznajdleder
> >>> <pabl...@pablosz.com.ar> escribió:
> >>>> email: pabl...@pablosz.com.ar
Reply all
Reply to author
Forward
0 new messages