把<prop key="hibernate.connection.release_mode">${hibernate.connection.release_mode}</prop>去掉试试
解决方案 »
- jsp文件错误,如何改呀
- 输入输出流的一个问题
- 谁有这样的开发框架
- 项目交流问题
- 向主窗口传送值没有反应,怎么回事?
- 怎样在 struts-config.xml 中的 给forward 标签的 path 属性传递多个参数
- 奇怪的EntityBean,来者有分
- 请问在Entity bean中这日期型字段的问题?
- 请问谁有用EJB开发的完整实例?谢谢(或网上资源)
- (半成品)java 通过JtextPane实现qq气泡聊天。怎么在Jtextpane实现不同的段落,使用不同的对齐方式
- core java又称"核心java"。core java是指java中的哪些部分,谁能告诉我准确的界定范围?
- html:radio 问题
Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@20f237 [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@1716fa0 [ acquireIncrement -> 5, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, idleConnectionTestPeriod -> -1, initialPoolSize -> 15, maxIdleTime -> 10, maxPoolSize -> 1000, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 10, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@18b1f8f [ description -> null, driverClass -> com.microsoft.sqlserver.jdbc.SQLServerDriver, factoryClassLocation -> null, jdbcUrl -> jdbc:sqlserver://localhost:2869;instanceName=SQL2005;databasename=survey, properties -> {user=******, password=******} ] , preferredTestQuery -> null, propertyCycle -> 300, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, usesTraditionalReflectiveProxies -> false ] , factoryClassLocation -> null, numHelperThreads -> 3, poolOwnerIdentityToken -> 20f237 ] ............
很多很多,不停地初始化,我也不知道是为什么。
public class HibernateListener implements ServletContextListener { private static Logger log = Logger.getLogger(HibernateListener.class);
public void contextInitialized(ServletContextEvent event) {
log.info("Starting Hibernate persistence service...");
HibernateSessionFactory.currentSession(); // Just call static initializer
log.info("Hibernate startup complete");
} public void contextDestroyed(ServletContextEvent event) {
log.info("Shutting down Hibernate persistence service...");
HibernateSessionFactory.closeSession();
log.info("Hibernate shutdown complete");
}
}web.xml: <listener>
<listener-class>com.test.common.hibernate.HibernateListener</listener-class>
</listener>DAO:
Session session = currentSession(); //HibernateSessionFactory.currentSession(); 不需要每次新建立连接HibernateSessionFactory了
Transaction t = session.beginTransaction();
但实际上我并没有在DAO里重新建SessionFactory,我的DAO里是
Session session = this.getSession();而且我现在在测试的时候仅仅只是用了Hibernate自带的hql语句和HibernateTemplate,并没有用到JDBC自己建连接:
Session session = this.getSession();
Connection conn = session.connection();
比如说获得所有要发的邮件:
public List getAllMailTask() { try {return (List) this.getHibernateTemplate().execute(
new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery("FROM MailTask ");
List list=query.list();
return list;
}
}
);}catch(Exception e){
e.printStackTrace();
return null;
}
}
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>WEB-INF/classes/hibernate.cfg.xml</value> //就是单独使用hibernate的配置
</property>
<!-- 为处理Blob类型字段的句柄声明-->
<property name="lobHandler" ref="lobHandler"/>
</bean><!-- DaoTraget>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-->
<bean id="expoPurchTopicDaoTarget" class="org.caexpo.hibernate.dao.impl.ExpoPurchTopicDAO">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
... ...
Session session = currentSession();
Transaction t = session.beginTransaction();
... ...
session.save(expert);
session.flush();
t.commit();
closeSession(); //HibernateSessionFactory.closeSession()
... ...contextDestroyed并不是在一个dao结束的时候调用的.contextInitialized和contextDestroyed是根据服务的启动而启动或者关闭的
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(
new String[] {GlobalVar.APPCONETN_URL});
GlobalVar.APPCONETN_URL =WEB-INF/ApplicationContext.xml我把它放在定时发送邮件的函数中,所以每隔一段时间都会新建连接(池),呵呵!但是我又出现了一个问题,我需要获得ApplicationContext.xml中己经注册了的bean,我在另一个类中定义一个静类变量来接收它的值。我用了 获得spring里注册Bean的方法:http://blog.chinajavaworld.com/entry.jspa?id=500
的第二种,但是获得的
在 UserService userService = (UserService)service.getService("userService");返回的userService 是null,为什么我不能用呢。可以帮忙看看吗?谢谢