环境:
- Eclipse Juno(4.2)
- Java 1.7.0_25
- JBoss AS 5
有关如何创建项目和配置JBOSS环境参见:http://www.micmiu.com/j2ee/ejb/eclipse-jboss-ejb-demo ,注意在创建项目时,ejb mod[……]
环境:
有关如何创建项目和配置JBOSS环境参见:http://www.micmiu.com/j2ee/ejb/eclipse-jboss-ejb-demo ,注意在创建项目时,ejb mod[……]
本文详细介绍EJB+JPA实现Entity的CRUD基本操作。
目录
本文以JBoss 5.0.1.GA 、Oracle 数据库为例,介绍JBoss下部署EJB如何配置datasource。
以 JBOSS_HOME 表示JBoss 本地的根目录 ,默认配置部署在 JBOSS_HOME/server/default/下。
场景:
泛型现在运用得越来越多,如果在项目中用到了类似下面的泛型方法:
public <X> List<X> query(final String hql, final Map<String, ?> values);
public <X> X[……]
在Eclipse中编译项目时,如果提示类似 com.sun.image.codec.jpeg.* 下:
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
imp[……]
在以前的一篇详细介绍 Atomikos+spring实现JTA 的文章中是利用声明式事务配置,以共享同一个代理bean的方法实现事务配置,本文介绍下利用tx标签配置拦截器的方式实现事务配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
<!-- TransactionManager http://www.micmiu.com --> <!-- Construct Atomikos UserTransactionManager, needed to configure Spring --> <bean id="atomikosTransactionManager" class="com.atomikos.icatch.jta.UserTransactionManager" init-method="init" destroy-method="close"> <!-- when close is called, should we force transactions to terminate or not? --> <property name="forceShutdown"> <value>true</value> </property> </bean> <!-- Also use Atomikos UserTransactionImp, needed to configure Spring --> <bean id="atomikosUserTransaction" class="com.atomikos.icatch.jta.UserTransactionImp"> <property name="transactionTimeout"> <value>300</value> </property> </bean> <!-- Configure the Spring framework to use JTA transactions from Atomikos --> <bean id="springJTATransactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"> <property name="transactionManager"> <ref bean="atomikosTransactionManager" /> </property> <property name="userTransaction"> <ref bean="atomikosUserTransaction" /> </property> </bean> <tx:annotation-driven transaction-manager="springJTATransactionManager" proxy-target-class="true" /> <tx:advice id="txAdvice" transaction-manager="springJTATransactionManager"> <tx:attributes> <tx:method name="save*" propagation="REQUIRED" /> <tx:method name="update*" propagation="REQUIRED" /> <tx:method name="transfer*" propagation="REQUIRED" rollback-for="Exception" /> <tx:method name="*" read-only="true" /> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="serviceOperation" expression="execution(* com.micmiu.jta.demo.service.UserAccountService.*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation" /> </aop:config> <!-- Configure DAO http://www.micmiu.com --> <bean id="userInfoDao" class="com.micmiu.jta.demo.dao.UserInfoDaoImpl"> <property name="sessionFactory" ref="sessionFactory1" /> </bean> <bean id="bankAccountDao" class="com.micmiu.jta.demo.dao.BankAccountDaoImpl"> <property name="sessionFactory" ref="sessionFactory2" /> </bean> <bean id="userAccountService" class="com.micmiu.jta.demo.service.UserAccountServiceImpl"> <property name="userInfoDao" ref="userInfoDao" /> <property name="bankAccountDao" ref="bankAccountDao" /> </bean> |
本文介绍到此结束@Michael Su[……]
Atomikos数据源配置方法有三种分别:
下面的演示以Orcale数据库为例子
本文介绍下Mac OS X下安装和卸载Node.js的几种方法:
[一]、源码手工编译
安装:标准的三板斧:
[crayon-676768da0[……]
近期评论