问题:Hibernate+C3P0连接SQLServer2008 在运行环境Tomcat启动一半,不报错。在开发环境运行正常。
开发环境:Eclipse 3.7,Tomcat 6.0,Win7 64x
C:\Users\VIC>java -version java version "1.6.0_38" Java(TM) SE Runtime Environment (build 1.6.0_38-b05) Java HotSpot(TM) 64-Bit Server VM (build 20.13-b02, mixed mode)
运行环境:Tomcat 6.0,Server 2008
C:\Users\Server>java -version java version "1.6.0_29" Java(TM) SE Runtime Environment (build 1.6.0_29-b05) Java HotSpot(TM) 64-Bit Server VM (build 20.13-b02, mixed mode)
配置文件:
<bean id="DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"> </property> <property name="jdbcUrl" value="jdbc:sqlserver://localhost:1433;databaseName=Cloud_TEST" /> <property name="user" value="sa"></property> <property name="password" value="sa123"></property> <property name="minPoolSize" value="3"></property> <property name="maxPoolSize" value="15"></property> <property name="idleConnectionTestPeriod" value="28000"></property> <property name="maxIdleTime" value="21600"/> <property name="maxStatements" value="0"/> </bean> <bean id="SessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="DataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">common.util.SQLServer2008Dialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.max_fetch_depth">10</prop> <prop key="hibernate.jdbc.batch_size">100</prop> <prop key="hibernate.cache.use_second_level_cache">false</prop> </props> </property> </bean> <bean id="CommonDAO" class="com.hestia.mosa.bar.CommonDAO"> <property name="sessionFactory"> <ref bean="SessionFactory" /> </property> </bean>
解决方案 1,
jdbc:sqlserver://localhost:1433;databaseName=Cloud_TEST
改为
jdbc:sqlserver://localhost:1433/Cloud_TEST (不好,有时会报 1433/Cloud_TEST端口号错误)
解决方案 2:
升级java version "1.6.0_29" 29 BUG,升级到45解决问题,正常启动.建议服务器和开发环境用统一java版本
相关推荐
<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider <property name="connection.datasource">jdbc/SampleDS <!-- 其他配置 --> </hibernate-configuration> ``` ...
在实际开发中,为了更好的管理和维护,通常会使用连接池(如Apache DBCP、C3P0或HikariCP)来管理数据库连接,而不是直接创建和关闭连接。此外,现代Java应用倾向于使用ORM框架,如Hibernate或MyBatis,以简化数据库...
2. `<property name="hibernate.c3p0.min_size">5</property>`:最小连接数,保持一定的连接数以避免频繁创建和销毁连接。 3. `<property name="hibernate.c3p0.timeout">120</property>`:连接超时时间,防止因长...
这里使用了 C3P0 连接池作为 Hibernate 的连接提供者,并指定了 JNDI 数据源名称。 2. **编写测试页面:**为了验证配置是否正确,可以编写一个简单的 JSP 页面来测试数据源是否可用。 ```jsp ;charset=UTF-8" %>...
2. **JDBC连接**:Tomcat支持多种数据库连接池,如C3P0、DBCP等。需要配置context.xml或server.xml来设置数据库连接池,并提供数据库驱动和连接信息。 3. **Hibernate配置**:在Hibernate的配置文件(hibernate.cfg....
2. **c3p0-0.9.1.jar**:C3P0是一个JDBC连接池,提供数据库连接的管理和优化。 3. **commons-**系列库:Apache Commons是包含各种实用工具类的项目,如collections、beanutils和digester,它们简化了Java开发中的...
4. **选择数据源**:默认情况下,Hibernate会使用其自带的数据源,但在生产环境中通常建议使用第三方连接池,如C3P0或Proxool等,以提高性能和稳定性。 #### 三、配置Hibernate的数据源 为了更好地管理数据库连接...
默认的 Hibernate 连接池功能有限,推荐使用成熟的连接池实现,如 C3P0、Druid 或者应用服务器自身的连接池(如 Tomcat 的 DBCP、WebLogic)。配置时,需要取消 Hibernate 内置连接池的相关设置,并根据所选连接池的...
虽然Tomcat提供了内置的连接池实现,但还有许多优秀的第三方连接池组件,如Apache DBCP、C3P0、HikariCP等。它们提供了更高级的功能,如更高效的连接管理和监控,可以根据具体需求选择合适的连接池实现。 总结来说...
常用的连接池工具有HikariCP、DBCP、C3P0等。 5. SQL语句执行:JDBC提供了Statement、PreparedStatement和CallableStatement三种方式执行SQL。Statement用于简单查询,PreparedStatement能防止SQL注入,...
5.3 Tomcat5.5中配置连接池和数据源:在Tomcat的conf/server.xml文件中配置数据源(DataSource),例如使用Apache Commons DBCP或C3P0,设定连接池大小、超时时间等参数,便于管理数据库连接。 5.4 对象关联关系的...
Hibernate3.2版本引入了许多增强功能,如C3P0连接池、HQL(Hibernate查询语言)以及第二级缓存等。 **Spring** 框架是Java企业级应用的核心组件,它提供依赖注入和面向切面编程(AOP)等功能。Spring2.0版本引入了更...
5. 数据库连接池的配置和使用,例如C3P0或HikariCP。 6. MVC设计模式在JSF和Spring中的应用。 7. JPA(Java Persistence API)与Hibernate的结合使用,实现ORM。 8. 使用JNDI查找EJB,实现不同层之间的通信。 9. ...
常见的连接池实现有Apache DBCP、C3P0、HikariCP等。 5. SQL语句:编写SQL语句是与数据库交互的基础。包括SELECT(查询)、INSERT(插入)、UPDATE(更新)和DELETE(删除)等基本操作,以及JOIN、WHERE、GROUP BY...
- **连接池**:为了提高性能,项目可能使用连接池(如HikariCP, C3P0)来管理和重用数据库连接。 - **事务管理**:SQL脚本可能包含事务处理,以确保数据的一致性,如ACID(原子性、一致性、隔离性和持久性)属性的...
如Apache的DBCP、C3P0,或者Spring框架中的HikariCP、Tomcat JDBC Pool等。连接池会预先创建并维护一定数量的数据库连接,当应用需要时,可以从池中获取连接,用完后归还,避免了频繁创建和销毁连接的开销。 5. ...
在实际的Java EE应用中,为了提高性能和资源管理,通常会使用连接池,如C3P0、HikariCP、Apache DBCP等。连接池预先初始化一定数量的数据库连接,当需要时可以从池中获取,使用完毕后归还,避免了频繁的创建和销毁...
注意,上述配置中使用的是C3P0连接池来管理数据库连接。具体参数可根据实际情况进行调整。 ##### 6. 修改web.xml配置文件 在`WebRoot/WEB-INF`目录下的`web.xml`文件中,需要添加Spring的上下文加载监听器配置。 ...
5. **c3p0.jar**:这是一个开源的JDBC连接池组件,它能够管理数据库连接,提高应用的性能和效率。C3P0提供了自动检测、关闭和回收数据库连接的功能,同时支持多线程环境下的并发访问。开发者可以配置其各种参数以...