|
问题: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版本 |
|
|