Atomikos多数据源配置项目实例

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns=""xmlns:xsi="" xmlns:jee=""xmlns:tx="" xmlns:context=""xsi:schemaLocation=" "default-lazy-init="true"><description>Spring公共配置 </description><!– 定义受环境影响易变的变量 –><beanclass="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /><property name="ignoreResourceNotFound" value="true" /><property name="locations"><list><!– 标准配置 –><value>classpath*:/application.properties</value><!–集群中节点配置 <value>classpath*:/application.cluster.properties</value>–><!–本地开发环境配置 <value>classpath*:/application.local.properties</value>–><!–服务器生产环境配置 <value>/pom/application.server.properties</value>–></list></property></bean><!– 使用annotation 自动注册bean,并保证@Required,@Autowired的属性被注入 –><context:component-scan base-package="com.wiseweb.pom" /><!– orable配置 –><!– <bean id="dataSourceContent" class="com.atomikos.jdbc.AtomikosDataSourceBean" init-method="init" destroy-method="close"><property name="uniqueResourceName"><value>jdbc/dataSourceContent</value></property><property name="xaDataSourceClassName"><value>oracle.jdbc.xa.client.OracleXADataSource</value></property><property name="xaProperties"><props><prop key="URL">${jdbc.url}</prop><prop key="user">${jdbc.username}</prop><prop key="password">${jdbc.password}</prop></props></property><property name="poolSize"><value>5</value></property><property name="maxPoolSize"><value>15</value></property></bean><bean id="dataSourceIndex" class="com.atomikos.jdbc.AtomikosDataSourceBean" init-method="init" destroy-method="close"><property name="uniqueResourceName"><value>jdbc/dataSourceIndex</value></property><property name="xaDataSourceClassName"><value>oracle.jdbc.xa.client.OracleXADataSource</value></property><property name="xaProperties"><props><prop key="URL">${jdbc.url}</prop><prop key="user">${jdbc.username}</prop><prop key="password">${jdbc.password}</prop></props></property><property name="poolSize"><value>5</value></property><property name="maxPoolSize"><value>15</value></property></bean> –><!– 本地数据库配置 –><bean id="dataSourceContent" class="com.atomikos.jdbc.AtomikosDataSourceBean" init-method="init" destroy-method="close"><property name="uniqueResourceName"><value>jdbc/dataSourceContent</value></property><property name="xaDataSourceClassName"><value>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</value></property><property name="xaProperties"><props><prop key="serverName">${jdbc.servername}</prop><prop key="portNumber">${jdbc.portnumber}</prop><prop key="databaseName">${jdbc.databasename}</prop><prop key="user">${jdbc.username}</prop><prop key="password">${jdbc.password}</prop></props></property><property name="poolSize"><value>5</value></property><property name="maxPoolSize"><value>15</value></property><property name="testQuery"><value>select 1</value></property></bean><bean id="dataSourceIndex" class="com.atomikos.jdbc.AtomikosDataSourceBean" init-method="init" destroy-method="close"><property name="uniqueResourceName"><value>jdbc/dataSourceIndex</value></property><property name="xaDataSourceClassName"><value>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</value></property><property name="xaProperties"><props><prop key="serverName">${jdbc.servername_index}</prop><prop key="portNumber">${jdbc.portnumber_index}</prop><prop key="databaseName">${jdbc.databasename_index}</prop><prop key="user">${jdbc.username_index}</prop><prop key="password">${jdbc.password_index}</prop></props></property><property name="poolSize"><value>5</value></property><property name="maxPoolSize"><value>15</value></property><property name="testQuery"><value>select 1</value></property></bean><!– 数据源配置,使用应用内的DBCP数据库连接池 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"> Connection Info <property name="driverClassName" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" />Connection Pooling Info <property name="maxIdle" value="${dbcp.maxIdle}" /><property name="maxActive" value="${dbcp.maxActive}" /><property name="defaultAutoCommit" value="false" /><property name="timeBetweenEvictionRunsMillis" value="3600000" /><property name="minEvictableIdleTimeMillis" value="3600000" /></bean>–><!– 数据源配置,使用应用服务器的数据库连接池 –><!–<jee:jndi-lookup id="dataSource"jndi-name="java:comp/env/jdbc/ExampleDB" />–><!– Hibernate配置 <bean id="sessionFactory"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="namingStrategy"><bean class="org.hibernate.cfg.ImprovedNamingStrategy" /></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">${hibernate.dialect}</prop><prop key="hibernate.show_sql">${hibernate.show_sql}</prop><prop key="hibernate.format_sql">${hibernate.format_sql}</prop><prop key="hibernate.cache.use_second_level_cache">${hibernate.use_second_level_cache}</prop><prop key="hibernate.cache.use_query_cache">${hibernate.use_query_cache}</prop><prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop><prop key="hibernate.cache.provider_configuration_file_resource_path">ehcache/ehcache-hibernate-local.xml</prop></props></property><property name="packagesToScan" value="com.wiseweb.pom.entity" /></bean>–><!– Hibernate配置 –><!– 本地数据库Hibernate配置 –><bean id="sessionFactoryContent" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"><property name="dataSource" ref="dataSourceContent" /><property name="namingStrategy"><bean class="org.hibernate.cfg.ImprovedNamingStrategy" /></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop><prop key="hibernate.show_sql">${hibernate.show_sql}</prop><prop key="hibernate.format_sql">${hibernate.format_sql}</prop><prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop><prop key="hibernate.cache.provider_configuration_file_resource_path">ehcache/ehcache-hibernate-local.xml</prop></props></property><property name="packagesToScan" value="com.wiseweb.pom.entity" /></bean><!– 远程数据库Hibernate配置 –><bean id="sessionFactoryIndex" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"><property name="dataSource" ref="dataSourceIndex" /><property name="namingStrategy"><bean class="org.hibernate.cfg.ImprovedNamingStrategy" /></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop><prop key="hibernate.show_sql">${hibernate.show_sql}</prop><prop key="hibernate.format_sql">${hibernate.format_sql}</prop><prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop><prop key="hibernate.cache.provider_configuration_file_resource_path">ehcache/ehcache-hibernate-local.xml</prop></props></property><property name="packagesToScan" value="com.wiseweb.pom.entity" /></bean><!– 事务管理器配置,单数据源事务<bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory" /></bean> –><!– ActiveMQ JMS服务 –><!–创建连接工厂–><bean id="connectionFactory"class="org.apache.activemq.ActiveMQConnectionFactory"><property name="brokerURL" value="tcp://127.0.0.1:61616"></property></bean><!– 声明ActiveMQ队列消息目标–><!– <bean id="destination" class="org.apache.activemq.command.ActiveMQQueue"><constructor-arg index="0" value="wiseweb.queue"></constructor-arg></bean> –><!– 声明ActiveMQ主题消息目标 –><bean id="destination" class="org.apache.activemq.command.ActiveMQTopic"><constructor-arg index="0" value="wiseweb.topic"></constructor-arg></bean><bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"><property name="connectionFactory" ref="connectionFactory"></property><property name="defaultDestination" ref="destination"></property><property name="receiveTimeout" value="10000"></property></bean><!– 消息监听适配器 –><bean id="messageListenerAdapter" class="org.springframework.jms.listener.adapter.MessageListenerAdapter"><property name="delegate"><bean class="com.wiseweb.pom.jms.listener.MessageListener"></bean></property><property name="defaultListenerMethod" value="receiveMessage"></property><property name="defaultResponseDestination" ref="destination"></property></bean><!– 监听容器 –><!– <bean id="messageListenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"><property name="connectionFactory" ref="connectionFactory"></property><property name="destination" ref="destination"></property><property name="messageListener" ref="messageListenerAdapter"></property></bean> –><bean id="messageSender" class="com.wiseweb.pom.jms.MessageSender"><property name="jmsTemplate" ref="jmsTemplate"></property></bean><!– 事务管理器配置,多数据源JTA事务–><bean id="atomikosTransactionManager" class="com.atomikos.icatch.jta.UserTransactionManager" init-method="init" destroy-method="close"><property name="forceShutdown"><value>true</value></property></bean><bean id="atomikosUserTransaction" class="com.atomikos.icatch.jta.UserTransactionImp"><property name="transactionTimeout" value="300"/></bean><bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"><property name="transactionManager" ref="atomikosTransactionManager" /><property name="userTransaction" ref="atomikosUserTransaction"/><property name="allowCustomIsolationLevels" value="true"/></bean><!– 使用annotation定义事务 –><tx:annotation-driven transaction-manager="transactionManager"proxy-target-class="true" /><!– 加载网站类型 –><bean id="groupMap" class="java.util.TreeMap"><constructor-arg><map><entry key="1" value="新闻" /><entry key="2" value="论坛" /><entry key="3" value="博客" /><entry key="4" value="微博" /><entry key="5" value="纸媒" /><!– <entry key="6" value="视频" />–><entry key="7" value="外媒" /><!– <entry key="8" value="广播" /><entry key="9" value="电视" /><entry key="10" value="空间" /><entry key="11" value="微信" />–></map></constructor-arg></bean><bean id="staticValue" class="com.wiseweb.util.StaticValue"lazy-init="false"><property name="groupMap"><ref bean="groupMap" /></property></bean><bean id="hibernateDaoImple" class="com.wiseweb.pom.dao.HibernateGeneralDao"><property name="sessionFactory" ref="sessionFactoryContent"></property></bean><!– 配置定时器 –><bean id="scheduler"class="org.springframework.scheduling.quartz.SchedulerFactoryBean"></bean><bean id="quartzTimerUtil" class="com.wiseweb.util.sms.QuartzTimerUtil"><property name="scheduler" ref="scheduler" /></bean><bean id="startAllTimer" class="com.wiseweb.util.sms.StartAllTimer"><property name="scheduler" ref="scheduler" /><property name="hibernateDaoImple" ref="hibernateDaoImple"></property></bean><!– 配置定时器结束 –></beans>孤单不是与生俱来,而是由你爱上一个人的那一刻开始。

Atomikos多数据源配置项目实例

相关文章:

你感兴趣的文章:

标签云: