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