本篇文章主要介绍了"SpringMVC+MyBatis+JMS+JTA(分布式事务)",主要涉及到队列,Spring,连接数据库,Annotation,JDBC方面的内容,对于软件工程感兴趣的同学可以参考一下:
SpringMVC+MyBatis 相信已经是现在企业开发中常用技术了。
因为一些需求,我们需要集成JMS(我使用的是ActiveMQ),大家应该都知道,MQ...
JDBC.url=JDBC:mysql://localhost:3306/xgmessage?useUnicode=true&characterEncoding=utf-8&relaxAutoCommit=true
JDBC.username=root
JDBC.password=123456activemq.brokerURL=tcp://localhost:61616
activemq.username=admin
activemq.password=admin
6、web.xml
<web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:web="http://java.sun.com/xml/ns/javaee"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><display-name>zhuhai10086-jmsdisplay-name><context-param><param-name>webAppRootKeyparam-name><param-value>zhuhai10086-jmsparam-value>context-param><context-param><param-name>log4jConfigLocationparam-name><param-value>classpath:log4j/log4j.xmlparam-value>context-param><listener><listener-class>org.Springframework.web.util.Log4jConfigListenerlistener-class>listener><filter><filter-name>characterEncodingfilter-name><filter-class>org.Springframework.web.filter.CharacterEncodingFilterfilter-class><init-param><param-name>encodingparam-name><param-value>UTF-8param-value>init-param><init-param><param-name>forceEncodingparam-name><param-value>trueparam-value>init-param>filter><filter-mapping><filter-name>characterEncodingfilter-name><url-pattern>/*url-pattern>filter-mapping><context-param><param-name>contextConfigLocationparam-name><param-value>classpath*:Spring/applicationContext.xml,classpath*:activemq/ActiveMQ-XA.xml
param-value>context-param><listener><listener-class>org.Springframework.web.context.ContextLoaderListenerlistener-class>listener><servlet><servlet-name>SpringMVCservlet-name><servlet-class>org.Springframework.web.servlet.DispatcherServletservlet-class><init-param><param-name>contextConfigLocationparam-name><param-value>classpath:Spring/Spring-mvc.xmlparam-value>init-param><load-on-startup>1load-on-startup>servlet><servlet-mapping><servlet-name>SpringMVCservlet-name><url-pattern>/url-pattern>servlet-mapping>web-app>
7、把log4j.xml 也贴出来吧,兴许有的同学能用上
<log4j:configurationdebug="true"xmlns:log4j="http://jakarta.apache.org/log4j/"><appendername="CONSOLE"class="org.apache.log4j.ConsoleAppender"><layoutclass="org.apache.log4j.PatternLayout"><paramname="ConversionPattern"value="[%d][%p][%13F:%L] %m%n" />layout>appender><appendername="DEBUG"class="org.apache.log4j.DailyRollingFileAppender"><paramname="File"value="${log4j.logfile.path}" /><paramname="Encoding"value="UTF-8" /><paramname="DatePattern"value="'.'yyyy-MM-dd" /><paramname="ImmediateFlush"value="true" /><paramname="Append"value="true" /><layoutclass="org.apache.log4j.PatternLayout"><paramname="ConversionPattern"value="[%d][%p] %m%n" />layout>appender><loggername="java.sql.Connection"><levelvalue="DEBUG" /><appender-refref="DEBUG" /><appender-refref="CONSOLE" />logger><loggername="java.sql.PreparedStatement"><levelvalue="DEBUG" /><appender-refref="DEBUG" /><appender-refref="CONSOLE" />logger><loggername="java.sql.Statement"><levelvalue="DEBUG" /><appender-refref="DEBUG" /><appender-refref="CONSOLE" />logger><loggername="java.sql.ResultSet"><levelvalue="DEBUG" /><appender-refref="DEBUG" /><appender-refref="CONSOLE" />logger><loggername="org.mybatis"><levelvalue="DEBUG" /><appender-refref="DEBUG" /><appender-refref="CONSOLE" />logger><loggername="org.Springframework"><levelvalue="INFO" /><appender-refref="DEBUG" /><appender-refref="CONSOLE" />logger><loggername="org.apache.ibatis"><levelvalue="INFO" /><appender-refref="DEBUG" /><appender-refref="CONSOLE" />logger><loggername="org.apache.xbean.Spring"><levelvalue="INFO" /><appender-refref="DEBUG" /><appender-refref="CONSOLE" />logger><loggername="com.atomikos"><levelvalue="ERROR" /><appender-refref="DEBUG" /><appender-refref="CONSOLE" />logger><loggername="org.apache.activemq"><levelvalue="INFO" /><appender-refref="DEBUG" /><appender-refref="CONSOLE" />logger><loggername="com.hvgroup"><levelvalue="DEBUG"/><appender-refref="DEBUG" /><appender-refref="CONSOLE" />logger><root><levelvalue="DEBUG"/>root>log4j:configuration>
对需要使用数据库数据源的方法使用 @Transactional 注解即可,在配置上,JMS的事务我们已经在配置文件中指定了。如下代码中指定的 transaction-manager=”jtaTransactionManager”:
<jms:listener-container
destination-type="queue"container-type="default"connection-factory="amqConnectionFactory"transaction-manager="jtaTransactionManager"error-handler="jmsErrorHandler"acknowledge="transacted"><jms:listenerdestination="xinge.queue.push.invokelog"ref="xgMessageReceiverInvokeLog"concurrency="5-100" />jms:listener-container>
最后贴上工程代码的结构图:

声明:本文是我在项目实际业务开发之前搭建的框架,其中如出现一些敏感字,声明不涉及版权问题。
贴出的配置,仅供大家学习。
').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('
').text(i));
};
$numbering.fadeIn(1700);
});
});
以上就介绍了SpringMVC+MyBatis+JMS+JTA(分布式事务),包括了队列,Spring,连接数据库,Annotation,JDBC方面的内容,希望对软件工程有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_249997_3.html