<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>yangbo9229</title>
    <description>努力就是成功</description>
    <link>http://yangbo9229.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>关于JOTM配置全局事务的问题，实在是没办法了</title>
        <author>yangbo9229</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yangbo9229.javaeye.com">yangbo9229</a>&nbsp;
          链接：<a href="http://yangbo9229.javaeye.com/blog/169106" style="color:red;">http://yangbo9229.javaeye.com/blog/169106</a>&nbsp;
          发表时间: 2008年03月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          xml配置如下<br /><pre name="code" class="java">

&lt;?xml version="1.0" encoding="UTF-8"?>

&lt;beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:jee="http://www.springframework.org/schema/jee"
	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.0.xsd
           http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

	
	&lt;aop:config proxy-target-class="true">
		&lt;aop:advisor pointcut="execution(* com.ctvit.test.struts.TestSerivce.*(..))" advice-ref="txAdvice" />
	&lt;/aop:config>
		
	&lt;tx:advice id="txAdvice" transaction-manager="transactionManager"> 
		&lt;tx:attributes>
		&lt;tx:method name="save*"/>
		&lt;tx:method name="test*"/>
		&lt;tx:method name="*" read-only="true" />		
		&lt;/tx:attributes>
	&lt;/tx:advice>
	
	&lt;bean id="jotmJta" class="org.springframework.transaction.jta.JotmFactoryBean" />
	
	&lt;bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">
		&lt;property name="userTransaction" ref="jotmJta" />
	&lt;/bean>
	&lt;tx:annotation-driven transaction-manager="transactionManager"/> 
	
	
	&lt;bean id="ds1" class="org.apache.commons.dbcp.BasicDataSource" 	destroy-method="close">
		&lt;property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
		&lt;property name="url" value="jdbc:oracle:thin:@192.168.168.171:1521:cctveip" />
		&lt;property name="username" value="a" />
		&lt;property name="password" value="a" />
	&lt;/bean>	

	&lt;bean id="sessionFactory1"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		&lt;property name="dataSource">
			&lt;ref bean="ds1" />
		&lt;/property>
		&lt;property name="hibernateProperties">
			&lt;props>
				&lt;prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect&lt;/prop>
			&lt;/props>
		&lt;/property>
		&lt;property name="mappingResources">
			&lt;list>
				&lt;value>com/ctvit/test/domain/YbTest1.hbm.xml&lt;/value>
				&lt;value>com/ctvit/test/domain/YbTest2.hbm.xml&lt;/value>
			&lt;/list>
		&lt;/property>
	&lt;/bean>

	&lt;bean id="testSerivce" class="com.ctvit.test.struts.TestSerivce">
		&lt;property name="tes1Dao" ref="YbTest1DAO">&lt;/property>
		&lt;property name="tes2Dao" ref="YbTest2DAO">&lt;/property>
	&lt;/bean>
	
	&lt;bean id="YbTest1DAO" class="com.ctvit.test.domain.YbTest1DAO">
		&lt;property name="sessionFactory">
			&lt;ref bean="sessionFactory1" />
		&lt;/property>
	&lt;/bean>
	&lt;bean id="YbTest2DAO" class="com.ctvit.test.domain.YbTest2DAO">
		&lt;property name="sessionFactory">
			&lt;ref bean="sessionFactory1" />
		&lt;/property>
	&lt;/bean>
&lt;/beans>
</pre><br /><br />java 测试代码如下<br /><pre name="code" class="java">

import org.springframework.context.ApplicationContext;
import org.springframework.test.AbstractDependencyInjectionSpringContextTests;

import com.ctvit.test.struts.TestSerivce;

public class TestXa extends AbstractDependencyInjectionSpringContextTests  {
	protected String[] getConfigLocations() {
		return new String[] { "classpath:applicationContext.xml" };
	}
	public void testJOTM()  {
		ApplicationContext ctx = this.getApplicationContext();
		TestSerivce testSerivce = (TestSerivce)ctx.getBean("testSerivce");
		
		try {			
			testSerivce.saveTest();			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
	}
}

</pre>
          <br/>
          <span style="color:red;">
            <a href="http://yangbo9229.javaeye.com/blog/169106#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 07 Mar 2008 16:38:56 +0800</pubDate>
        <link>http://yangbo9229.javaeye.com/blog/169106</link>
        <guid>http://yangbo9229.javaeye.com/blog/169106</guid>
      </item>
  </channel>
</rss>