Avatar billede pebal Nybegynder
24. april 2004 - 11:22 Der er 5 kommentarer

HSQLDB under Tomcat

Hej

Hvordan får jeg Tomcat til at styre min connectionpool mod HSQLDB?
Hvordan får jeg Tomcat til at logge at HSQLDB er startet op, så jeg kan se det på consolen og i log-filen?
HSQLDB bør samtidig være tilgængelig via DatabaseManager(Swing), - i første omgang via Tomcat/localhost - men senere via nettet på den maskine der skal "hoste" min applikation.
Jeg kan ikke se at porten er optaget (netstat -a), og jeg kan ikke få adgang til databasen direkte!

Jeg har Tomcat og HSQLDB til at køre, og jeg kan fint tilgå data i databasen som beskrevet i "The Tomcat 4 Servlet/JSP Container - JNDI Datasource HOW-TO": http://localhost:8080/DBTest/test.jsp
=> Korrekt svar på min webside
- MEN hvis jeg opdaterer siden (eller starter flere browsere op) tages der en ny connection hver gang, og efter 3. forsøg (maxActive=2) får jeg "No DB connection". Det hjælper ikke at vente længe!
Jeg får en Exception på min Tomcat consol når der ikke er flere connections ledige!

I DatabaseManagerSwing forsøger jeg med:
Type=Server
URL=jdbc:hsqldb:hsql://localhost:8080
=> Connect
=> Error getting metadata
=> Connection is broken

Type=WebServer
URL=jdbc:hsqldb:http://localhost:8080
=> java.sql.SQLException: Connection is broken

Jeg bruger nedenstående server.xml:
  <Context path="/DBTest" docBase="/DBTest" debug="5" crossContext="true">
      <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_DBTest_log." suffix=".txt" timestamp="true"/>
      <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"/>
      <ResourceParams name="jdbc/TestDB">
        <parameter>
            <name>factory</name>
            <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
        </parameter>
        <parameter>
            <name>username</name>
            <value>sa</value>
        </parameter>
        <parameter>
            <name>password</name>
            <value/>
        </parameter>
        <parameter>
            <name>driverClassName</name>
            <value>org.hsqldb.jdbcDriver</value>
        </parameter>
        <parameter>
            <name>url</name>
            <value>jdbc:hsqldb:TestDB</value>
        </parameter>
        <parameter>
            <name>maxActive</name>
            <value>2</value>
        </parameter>
        <parameter>
            <name>maxIdle</name>
            <value>1</value>
        </parameter>
        <parameter>
            <name>port</name>
            <value>9001</value>
        </parameter>
        <parameter>
            <name>maxWait</name>
            <value>1000</value>
        </parameter>
      </ResourceParams>
  </Context>
</Host>
Avatar billede arne_v Ekspert
24. april 2004 - 11:30 #1
Husker du at kalde close når du er færdig med at bruge en connection ?
Avatar billede arne_v Ekspert
24. april 2004 - 11:31 #2
maxActive=2 er iøvrigt ikke ret meget
Avatar billede pebal Nybegynder
24. april 2004 - 11:40 #3
maxActive=2 Er blot brugt som test-eksempel
conn.close() var ganske rigtigt kommenteret ud (for at teste maxActive)!
- Det vil vel sige at Tomcat styrer connectionpool godt nok!

Mit spørgsmål er:
* Hvordan får jeg Tomcat til at logge at HSQLDB er startet op, så jeg kan se det på consolen og i log-filen?
* Hvordan får jeg adgang til databasen udenfor Tomcat? - Via HSQLDB DatabaseManager(Swing)?
Avatar billede arne_v Ekspert
24. april 2004 - 11:48 #4
Ja det lyder som det virker.
----
Nu bliver HSQLDB vel ikek som sådan startet (jeg formoder at du kører den som
embedded). Men derfor kunne den jo godt skrive når connection pool er
initialiseret. Men jeg ved ikke om man kan gøre noget eller hvad.
----
F.eks. - eller en anden applikation som bruger JDBC mod databasen. Det er kun
connection poolen som er knyttet til Tomcat. Almindelig JDBC virker fint
i en standalone app.
Avatar billede pebal Nybegynder
19. maj 2004 - 10:02 #5
Der må da være en ekspert på dette felt!
(Flere point?)
Mit spørgsmål er:
* Hvordan får jeg Tomcat til at logge at HSQLDB er startet op, så jeg kan se det på consolen og i log-filen?
* Hvordan får jeg adgang til databasen udenfor Tomcat? - Via HSQLDB DatabaseManager(Swing)?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester