2014-09-29 97 views
0

尝试配置一个简单的应用程序并将其部署到JBoss 4.0.5,但我得到 我也改变了JDBC驱动程序和测试了JDBC 3和jdbc4但发生休眠-4的jboss-4的配置

java.sql.SQLException: ERROR: SET AUTOCOMMIT TO OFF is no longer supported 

     at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:131) 
     at org.postgresql.jdbc1.AbstractJdbc1Connection.ExecSQL(AbstractJdbc1Connection.java:482) 
     at org.postgresql.jdbc1.AbstractJdbc1Connection.ExecSQL(AbstractJdbc1Connection.java:461) 
     at org.postgresql.jdbc1.AbstractJdbc1Connection.setAutoCommit(AbstractJdbc1Connection.java:957) 
     at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:63) 
     at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326) 
     at testingmodel2.Example1Servlet.processRequest(Example1Servlet.java:30) 
     at testingmodel2.Example1Servlet.doGet(Example1Servlet.java:60) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 
     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) 
     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) 
     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 
     at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) 
     at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) 
     at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) 
     at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) 
     at java.lang.Thread.run(Thread.java:595) 
14:05:46,315 ERROR [[Example1Servlet]] Servlet.service() for servlet Example1Servlet threw exception 
org.hibernate.TransactionException: JDBC begin failed: 
     at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:68) 
     at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326) 
     at testingmodel2.Example1Servlet.processRequest(Example1Servlet.java:30) 
     at testingmodel2.Example1Servlet.doGet(Example1Servlet.java:60) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 
     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) 
     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) 
     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 
     at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) 
     at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) 
     at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) 
     at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) 
     at java.lang.Thread.run(Thread.java:595) 
Caused by: java.sql.SQLException: ERROR: SET AUTOCOMMIT TO OFF is no longer supported 

     at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:131) 
     at org.postgresql.jdbc1.AbstractJdbc1Connection.ExecSQL(AbstractJdbc1Connection.java:482) 
     at org.postgresql.jdbc1.AbstractJdbc1Connection.ExecSQL(AbstractJdbc1Connection.java:461) 
     at org.postgresql.jdbc1.AbstractJdbc1Connection.setAutoCommit(AbstractJdbc1Connection.java:957) 
     at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:63) 
     ... 24 more 
同样的问题

也是我的Postgres-ds.xml中是

<datasources> 
    <local-tx-datasource> 
    <jndi-name>PostgresDS</jndi-name> 
    <connection-url>jdbc:postgresql://127.0.0.1:5432/dvdrental</connection-url> 
    <driver-class>org.postgresql.Driver</driver-class> 
    <user-name>postgres</user-name> 
    <password>*******</password> 
     <!-- sql to call when connection is created. Can be anything, select 1 is valid for PostgreSQL 
     <new-connection-sql>select 1</new-connection-sql> 
     --> 

     <!-- sql to call on an existing pooled connection when it is obtained from pool. Can be anything, select 1 is valid for PostgreSQL 
     <check-valid-connection-sql>select 1</check-valid-connection-sql> 
     --> 

     <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) --> 
     <!--<metadata> 
     <type-mapping>PostgreSQL 7.2</type-mapping> 
     </metadata> 
     --> 
    </local-tx-datasource> 

</datasources> 

我是小白,请帮助

回答

0

如果你有一个使用SET AUTOCOMMIT JDBC驱动程序,您需要更新到7.4兼容或更高版本的驱动程序。如果您有一个应用程序使用SET AUTOCOMMIT,它本身就会被破坏,因为只有司机应该搞砸了。

+0

我有9.3-1102 JDBC 3 \t驱动程序,我没有使用set autocommit ..所以这是什么问题? – stam 2014-09-30 06:40:35

+0

你是对的Jboss有PostgreSQL本地驱动,版本:PostgreSQL 7.3.4 JDBC3 jdbc驱动build 113!现在的问题是我如何在jboss 4中安装jdbc? – stam 2014-09-30 09:35:20

+0

感谢问题是,jboss使用版本7.3.4 jdbc3驱动程序。 – stam 2014-09-30 10:00:45