No database manager available
oldzitterhand Aug 6, 2004 11:17 AMHi everybody,
I am getting sick of randomly testing different combinations of commenting out and commenting in this hsql-ds.xml file.
I have the problem, that I can't start the Database Manager. If I press the "invoke" button in the jmx-console for "startDatabaseManager()" the website returns only the sentence "Operation completed successfully without a return value." but the java-app is not started and I will receive the following message in the log-file:
2004-08-06 17:06:21,645 ERROR [org.jboss.jdbc.HypersonicDatabase] Failed to start database manager java.lang.reflect.InvocationTargetException: java.lang.NoClassDefFoundError at org.hsqldb.util.CommonSwing.setDefaultColor(Unknown Source) at org.hsqldb.util.DatabaseManagerSwing.main(Unknown Source) at org.hsqldb.util.DatabaseManagerSwing.main(Unknown Source) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.jdbc.HypersonicDatabase$1.run(HypersonicDatabase.java:562)
Everything went fine until page 23 in the manual. I even have data in my database (at least if I can trust the "ant -f jboss-build.xml db-list" command). And the strange thing is that after several combinations of commenting in and out the application seems to work. But whenever I try to log-off I receive this error:
2004-08-06 17:11:24,157 ERROR [org.jboss.web.localhost.Engine] ApplicationDispatcher[/bank] Servlet.service() for servlet jsp threw exception java.lang.IllegalStateException: Cannot create a session after the response has been committed at org.apache.coyote.tomcat5.CoyoteRequest.doGetSession(CoyoteRequest.java:2270) at org.apache.coyote.tomcat5.CoyoteRequest.getSession(CoyoteRequest.java:2116) at org.apache.coyote.tomcat5.CoyoteRequestFacade.getSession(CoyoteRequestFacade.java:526) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:518) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:518) at org.apache.jsp.logoff_jsp._jspService(logoff_jsp.java:49) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:589) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499) at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:581) at com.sun.ebank.web.taglib.InsertTag.doEndTag(Unknown Source) at org.apache.jsp.template_jsp._jspx_meth_tt_insert_3(template_jsp.java:1313) at org.apache.jsp.template_jsp._jspService(template_jsp.java:581) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) at com.sun.ebank.web.Dispatcher.doGet(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) ...
Has some one a solution for me or can please someone post his/her hsql-ds.xml file??
my hsql-ds.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!-- The Hypersonic embedded database JCA connection factory config
$Id: hsqldb-ds.xml,v 1.1.2.13 2004/04/19 12:47:36 ejort Exp $ -->
<datasources>
<local-tx-datasource>
<!-- The jndi name of the DataSource, it is prefixed with java:/ -->
<!-- Datasources are not available outside the virtual machine -->
<jndi-name>DefaultDS</jndi-name>
<!-- for tcp connection, allowing other processes to use the hsqldb
database. This requires the org.jboss.jdbc.HypersonicDatabase mbean. -->
<connection-url>jdbc:hsqldb:hsql://localhost:1701</connection-url>
<!-- for totally in-memory db, not saved when jboss stops.
The org.jboss.jdbc.HypersonicDatabase mbean necessary
<connection-url>jdbc:hsqldb:.</connection-url>
-->
<!-- for in-process persistent db, saved when jboss stops. The
org.jboss.jdbc.HypersonicDatabase mbean is necessary for properly db shutdown
<connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}localDB</connection-url>
-->
<!-- The driver class -->
<driver-class>org.hsqldb.jdbcDriver</driver-class>
<!-- The login and password -->
<user-name>sa</user-name>
<password></password>
<!--example of how to specify class that determines if exception means connection should be destroyed-->
<!--exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyExceptionSorter</exception-sorter-class-name-->
<!-- this will be run before a managed connection is removed from the pool for use by a client-->
<!--<check-valid-connection-sql>select * from something</check-valid-connection-sql> -->
<!-- The minimum connections in a pool/sub-pool. Pools are lazily constructed on first use -->
<min-pool-size>5</min-pool-size>
<!-- The maximum connections in a pool/sub-pool -->
<max-pool-size>20</max-pool-size>
<!-- The time before an unused connection is destroyed -->
<!-- NOTE: This is the check period. It will be destroyed somewhere between 1x and 2x this timeout after last use -->
<!-- TEMPORARY FIX! - Disable idle connection removal, HSQLDB has a problem with not reaping threads on closed connections -->
<idle-timeout-minutes>0</idle-timeout-minutes>
<!-- sql to call when connection is created
<new-connection-sql>some arbitrary sql</new-connection-sql>
-->
<!-- sql to call on an existing pooled connection when it is obtained from pool
<check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
-->
<!-- example of how to specify a class that determines a connection is valid before it is handed out from the pool
<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyValidConnectionChecker</valid-connection-checker-class-name>
-->
<!-- Whether to check all statements are closed when the connection is returned to the pool,
this is a debugging feature that should be turned off in production -->
<track-statements/>
<!-- Use the getConnection(user, pw) for logins
<application-managed-security/>
-->
<!-- Use the security domain defined in conf/login-config.xml -->
<security-domain>HsqlDbRealm</security-domain>
<!-- Use the security domain defined in conf/login-config.xml or the
getConnection(user, pw) for logins. The security domain takes precedence.
<security-domain-and-application>HsqlDbRealm</security-domain-and-application>
-->
<!-- This mbean can be used when using in process persistent hypersonic -->
<!--<depends>jboss:service=Hypersonic,database=localDB</depends>-->
<depends>jboss:service=Hypersonic</depends>
</local-tx-datasource>
<!-- This mbean should be used only when using tcp connections. Uncomment when the tcp based connection-url is used. -->
<mbean code="org.jboss.jdbc.HypersonicDatabase" name="jboss:service=Hypersonic">
<attribute name="Port">1701</attribute>
<attribute name="Silent">true</attribute>
<attribute name="Database">default</attribute>
<attribute name="Trace">false</attribute>
<attribute name="No_system_exit">true</attribute>
</mbean>
<!-- This mbean can be used when using in process persistent db
<mbean code="org.jboss.jdbc.HypersonicDatabase" name="jboss:service=Hypersonic,database=localDB">
<attribute name="Database">localDB</attribute>
<attribute name="InProcessMode">true</attribute>
</mbean>
-->
Cheers
oldzitterhand