Readings : References, Tutorials, Articles
- Distributed transactions in Spring, with and without XA
- XA transactions using Spring
- J2EE Without the Application Server
Schemas for XML based configuration
Name | Location | Role |
---|---|---|
beans | http://www.springframework.org/schema/beans/spring-beans-3.0.xsd | defines the elements to define beans. |
context | http://www.springframework.org/schema/context/spring-context-3.0.xsd | defines the configuration elements for the Spring Framework's application. |
tx | http://www.springframework.org/schema/tx/spring-tx-3.0.xsd | defines the elements used in the Spring Framework's declarative transaction management infrastructure. |
aop | http://www.springframework.org/schema/aop/spring-aop-3.0.xsd | defines the configuration elements for the Spring Framework's AOP support. |
mvc | http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd | defines elements to configure the annotation-driven Spring MVC Controller programming model |
jee | http://www.springframework.org/schema/jee/spring-jee-3.0.xsd | defines configuration elements for access to traditional Java EE components such as JNDI resources and EJB session beans. |
jms | http://www.springframework.org/schema/jms/spring-jms-3.0.xsd | defines the configuration elements for the Spring Framework's JMS support. |
jdbc | http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd | defines the configuration elements for the Spring Framework's embedded database support. |
int | http://www.springframework.org/schema/integration/spring-integration-2.1.xsd | defines the core configuration elements for Spring Integration. |
int-ip | http://www.springframework.org/schema/integration/ip/spring-integration-ip-2.1.xsd | defines the configuration elements for Spring Integration's IP adapters. |
Configuring Dependency in Maven to Use Auto-detecting and Name-based Auto-wiring of Beans with Spring 3.0
(2011-04-24)
To apply both bean auto-detecting using streotype such as @Component, @Controller, @Services
, or @Repository
and name-based (auto) wiring using @Resource
annotation, you should manually add cglib
into the Maven dependency config.
So, the part of the pom.xml
would like this :
org.springframework spring-core 3.0.5.RELEASE jar compile org.springframework spring-context 3.0.5.RELEASE jar compile org.springframework spring-aop 3.0.5.RELEASE jar compile org.springframework spring-web 3.0.5.RELEASE jar compile org.springframework spring-webmvc 3.0.5.RELEASE jar compile cglib cglib-nodep 2.2 jar compile
Note that you need not or should not add asm
into your pom.xml
. Adding asm
make the behavior of the build very confusing to me.
Hibernate 3.x
has explicit dependency on asm
. So, when using both Spring 3.0
and Hibernate 3.x
together, it may be very difficult to correctly configure the Maven dependencies.
For details on this, refere the following : http://blog.newsplore.com/2009/03/07/upgrading-to-spring-30
Configuring SqlMapClientFactoryBean
(2009-08-13)
SqlMapClientBean
of springframework creates SqlMapClient
with EXTERNAL
transaction management by default and internally wrap the given data source to TransactionAwareDataSourceProxy
.
So, the typical setup for iBATIS SqlMapClient bean in spring configuration would be like the following.
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:XE" /> <property name="username" value="_user_" /> <property name="password" value="_passwd_" /> <property name="defaultAutoCommit" value="true" /> <property name="maxActive" value="10" /> <property name="maxIdle" value="10" /> <property name="minIdle" value="0" /> <property name="initialSize" value="10" /> </bean> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> <property name="defaultTimeout" value="120" /> </bean> <tx:annotation-driven transaction-manager="transactionManager" mode="proxy" proxy-target-class="true" /> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <description>default SqlMapClient bean for DAOs</description> <property name="configLocation" value="classpath:_pathto_/sql-map.xml" /> <property name="dataSource" ref="dataSource" /> <!-- Default setting is specified for clarity. --> <property name="useTransactionAwareDataSource" value="true"/> <!-- Default setting is specified for clarity. --> <property name="transactionConfigClass"> <value type="java.lang.Class">com.ibatis.sqlmap.engine.transaction.external.ExternalTransactionConfig </property> </bean>
At the above sample, the default setup for useTransactionAwareDataSource
and transactionConfigClass
properties is specified for clarity.
ExternalTransactionConfig
would set the "SetAutoCommitAllowed
" property of SqlMapClient
to false, in contrast to the iBATIS default, to always keep the original autoCommit value as provided by the connection pool.
For more information, refer API documentation of SqlMapClientFactoryBean
, specially setDataSource
, setUseTransactionAwareDataSource
, and setTransactionConfigClass
methods.
Annotation Based JMX in Spring Framework 2.5
(2008-08-04)
In spring framework 2.5, to use annotation based JMX
- The position of the JMX bean definition in bean config
- The type of proxy
0 comments:
Post a Comment