`

spring+hibernate+proxool+jta(jotm)

    博客分类:
  • Java
阅读更多

最近配置公司新项目的开发环境,由于个人感觉proxool的数据源比较好用,但是发现网上没有相关方面配置jta的配置代码

于是个人总结后,记录了以下配置方式

 

以下配置的各开源版本

spring version 2.5.8

hibernate version 3.2

proxool version 0.9.1

这三个的版本比较关键,如果有问题,可能会发生冲突,关于jotm的版本比较宽松,这里不作特定要求

 

applicationContext-core.xml数据源配置:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"
	default-autowire="byName">

	<!-- JDBC Properties -->
	<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="location" value="classpath:com/*/resource/jdbc.properties" />
	</bean>

	<!-- JTA TransactionManager -->
	<bean id="jotmJta" class="org.springframework.transaction.jta.JotmFactoryBean" /> 
	<bean id="jtaTxManager"  class="org.springframework.transaction.jta.JtaTransactionManager">
		<property name="userTransaction" ref="jotmJta"/> 
	</bean>

	<!-- Hibernate SessionFactory -->
	<!-- V7 sessionFactory -->
	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<!-- 
		<property name="dataSource" ref="dataSource" />
		<property name="configLocation">   
			<value>/WEB-INF/hibernate.cfg.xml</value>   
		</property>
		-->
		<property name="jtaTransactionManager" ref="jotmJta" />
		<property name="mappingDirectoryLocations">
			<list>
				<value>classpath:/com/*/hbm/v7</value>
			</list>
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					${hibernate.dialect}
				</prop>
				<prop key="hibernate.show_sql">
					${hibernate.show_sql}
				</prop>
				<prop key="hibernate.cache.provider_class">
					${hibernate.cache.provider_class}
				</prop>
				<prop key="hibernate.connection.release_mode">
					${hibernate.connection.release_mode}
				</prop>
				<prop key="hibernate.autoReconnect">
					${hibernate.autoReconnect}
				</prop>
				<prop key="hibernate.bytecode.use_reflection_optimizer">
					${hibernate.bytecode.use_reflection_optimizer}
				</prop>
				<prop key="hibernate.connection.autocommit">
					${hibernate.connection.autocommit}
				</prop>
				<prop key="hibernate.proxool.xml">
					${hibernate.proxool.xml}
				</prop>   
				<prop key="hibernate.proxool.pool_alias">
					${hibernate.proxool.pool_alias}
				</prop>   
			</props>
		</property>
	</bean>
	
	<!-- V4 sessionFactory -->
	<bean id="sessionFactoryV4" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="mappingDirectoryLocations">
			<list>
				<value>classpath:/com/*/hbm/v4</value>
			</list>
		</property>
		<property name="jtaTransactionManager" ref="jotmJta" />
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					${hibernate.dialect}
				</prop>
				<prop key="hibernate.show_sql">
					${hibernate.show_sql}
				</prop>
				<prop key="hibernate.cache.provider_class">
					${hibernate.cache.provider_class}
				</prop>
				<prop key="hibernate.connection.release_mode">
					${hibernate.connection.release_mode}
				</prop>
				<prop key="hibernate.autoReconnect">
					${hibernate.autoReconnect}
				</prop>
				<prop key="hibernate.bytecode.use_reflection_optimizer">
					${hibernate.bytecode.use_reflection_optimizer}
				</prop>
				<prop key="hibernate.connection.autocommit">
					${hibernate.connection.autocommit}
				</prop>
				<prop key="hibernate.proxool.xml">
					${hibernate.proxool.xml.v4}
				</prop>   
				<prop key="hibernate.proxool.pool_alias">
					${hibernate.proxool.pool_alias.v4}
				</prop>   
			</props>
		</property>
	</bean>
	
	<!-- Transaction Annotation -->
	<tx:annotation-driven transaction-manager="jtaTxManager"/>
	
	<!-- Persistence Dao -->
	<!-- V7 -->
	<bean id="v7Dao" class="com.*.dao.V7DaoImpl"></bean>
	
	<!-- V4 -->
	<bean id="v4Dao" class="com.*.dao.V4DaoImpl">
		<property name="sessionFactory" ref="sessionFactoryV4"></property>
	</bean>
</beans>

 

jdbc.properties配置:

#Hibernate Definition
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
hibernate.show_sql=true
hibernate.cache.provider_class=org.hibernate.cache.NoCacheProvider
hibernate.connection.release_mode=auto
hibernate.autoReconnect=true
hibernate.bytecode.use_reflection_optimizer=true

hibernate.connection.autocommit=true
hibernate.connection.provider_class=org.hibernate.connection.ProxoolConnectionProvider
hibernate.proxool.xml=com/*/resource/proxool.xml
hibernate.proxool.pool_alias=V7
hibernate.proxool.xml.v4=com/*/resource/proxool.v4.xml
hibernate.proxool.pool_alias.v4=V4

 

proxool.xml(proxool.v4.xml同下)配置:

<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>   
    <proxool>   
        <alias>V7</alias>
        <driver-url>jdbc:jtds:sqlserver://localhost:1433/test</driver-url>   
        <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>   
        <driver-properties>
            <property name="user" value="sa"/>   
            <property name="password" value=""/>   
        </driver-properties>   
        <prototype-count>3</prototype-count>   
        <house-keeping-sleep-time>90000</house-keeping-sleep-time>
        <house-keeping-test-sql>select 1</house-keeping-test-sql>
        <minimum-connection-count>3</minimum-connection-count>
        <maximum-connection-count>30</maximum-connection-count>   
        <simultaneous-build-throttle>25</simultaneous-build-throttle>
        <statistics>10s,1m,1d</statistics>
        <statistics-log-level>Debug</statistics-log-level>
        <trace>false</trace>
        <verbose>true</verbose>
    </proxool>
</something-else-entirely>   

 

分享到:
评论

相关推荐

    spring3+hibernate3+proxool+mysql 超级企业J2EE DEMO(jar在下一个文件中,jar太大了)

    本项目采用当前主流的MVC和IOC框架spring 3、优秀的ORM框架hibernate和超级厉害的proxool数据库连接池。这个工程demo,是本人在企业应用中的项目缩影,绝对实用于企业的应用。 适合朋友: 1.一直用单独的servlet和...

    Struts2+spring+hibernate中的proxool连接池配置

    本文将详细介绍如何在Struts2+Spring+Hibernate的环境中配置Proxool连接池。 首先,理解Proxool的工作原理。Proxool是一个基于池化的JDBC代理,它维护着一个数据库连接池,当应用需要访问数据库时,可以从池中获取...

    SSH (Struts2+Spring3+Hibernate3) +Proxool_亲测成功 费大劲了.zip

    文件`Spring3+Hibernate+Proxool_lj配置试验成功.txt`表明Spring3和Hibernate已经成功地集成了Proxool,这可能涉及到了Spring的`DataSource`配置,通过`&lt;bean&gt;`标签定义一个数据源,然后在Hibernate配置中引用它。...

    Spring+Hibernate+Proxool连接池

    标题 "Spring+Hibernate+Proxool连接池" 涉及到的是在Java Web开发中,如何使用Spring框架集成Hibernate ORM框架,并结合Proxool作为数据库连接池的技术实践。这通常是为了提高应用性能,有效管理和复用数据库连接,...

    springmvc+hibernate+freemarker+proxool需要的所有包

    "spring+hibernate包"可能包含了Spring MVC和Hibernate的相关依赖,如Spring的核心库、Spring MVC模块、Hibernate ORM库以及相关的JDBC驱动等,它们是搭建和运行一个基于Spring MVC、Hibernate的Java Web应用的基础...

    PureMVC+Flex+BlazeDS+Spring+Hibernate.doc

    标题中的“PureMVC+Flex+BlazeDS+Spring+Hibernate.doc”指的是一项整合了多种技术的Web应用开发方案,这些技术包括PureMVC、Flex、BlazeDS、Spring和Hibernate。这篇文档可能是指导读者如何将这些技术结合在一起...

    spring3+hibernate3+proxool+jstl+oracle整合示例代码

    《Spring3+Hibernate3+Proxool+jstl+Oracle整合详解》 在现代Java Web开发中,集成各种框架以实现高效、灵活的应用程序已成为常态。本示例代码结合了Spring 3.0.4、Hibernate 3.5.0、Proxool 0.9.1、jstl,并利用...

    struts2.2.3+spring2.5.6+hibernate3.2+proxool0.9.1

    Struts2.2.3、Spring2.5.6、Hibernate3.2和Proxool0.9.1是四个重要的Java技术组件,它们在Web应用程序开发中扮演着关键角色。这个压缩包文件包含了这些技术的集成示例,旨在帮助开发者理解和实践如何将它们有效地...

    框架整合Spring MVC3.23+Spring3.23+Hibernate4.2.3+Activiti5.16.3+Proxool连接池

    框架整合Spring MVC3.23+Spring3.23+Hibernate4.2.3+Activiti5.16.3,三层架构dao,service,controller,使用proxool连接池(已配置好监听器),默认链接mysql数据库。可根据项目开发需要,做适当修改,各项配置齐全...

    Spring+proxool+hibernate+struts2+aop_Jar包

    在"Spring+proxool+hibernate+struts2+aop"的整合中,Spring负责整体的依赖管理和事务控制,Struts2处理请求转发和视图展示,Hibernate处理数据库操作,而AOP则用来实现跨切面的关注点。 在提供的"Spring+proxool+...

    Spring+proxool+hibernate+struts2+aop整合的完整的简单项目

    **Spring+Proxool+Hibernate+Struts2+AOP整合详解** 在Java Web开发中,Spring、Proxool、Hibernate、Struts2和AOP(面向切面编程)是常用的框架和技术,它们各自承担着不同的职责,组合使用可以构建出高效、可维护...

    jsf+spring+hibernate.pdf

    本文将探讨如何集成Java...综上所述,JSF+Spring+Hibernate的集成提供了一种强大且灵活的开发模式,能够有效地管理用户界面、业务逻辑和持久化层。通过合理的配置和设计,可以构建出高性能、易于维护的企业级Web应用。

    hibernate4.1.4中hibernate+Proxool无法实现加载Proxool的配置文件解决办法及jar包

    在Java的持久层框架Hibernate中,使用Proxool作为连接池是常见的做法,尤其是在较旧的版本如Hibernate 4.1.4中。然而,在实际应用中,可能会遇到一些问题,比如“org.hibernate.engine.jdbc.spi.SqlExceptionHelper ...

    struts2+spring+hibernate整合

    Struts2、Spring和Hibernate是三个非常流行的Java开发框架,它们各自在Web应用程序的不同层面上发挥作用。Struts2主要用于控制层,提供MVC(模型-视图-控制器)架构;Spring是一个全面的后端框架,提供了依赖注入、...

    PureMVC+Flex+BlazeDS+Spring+Hibernate

    标题中的“PureMVC+Flex+BlazeDS+Spring+Hibernate”是一个常见的技术栈组合,用于构建企业级的 Rich Internet Applications (RIA)。这个技术栈包括前端开发框架、后端服务通讯、应用服务器、服务端架构和数据持久化...

Global site tag (gtag.js) - Google Analytics