dubbo开发中遇到的坑

问题一:springaop事务和dubbo冲突解决办法

第一步:

<dubbo:service interface="cn.yh.dubbo.service.StudentService" ref="studentServiceImpl"></dubbo:service>
	<bean id="studentServiceImpl" class="cn.yh.dubbo.service.impl.StudentServiceImpl"></bean>

用xml配置代替dubbo的注解

第二步:在消费者调用生产者接口时,使用@reference,表示从dubbo调用服务.

问题一:dubbo2.5.3和spring4.1.6冲突

第一步:在pom.xml文件中,去掉dubbo的spring依赖即可

<dependency>
 <groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.6</version>
     <!-- <exclusions>
		<exclusion>
		<artifactId>spring</artifactId>
		<groupId>org.springframework</groupId>
		</exclusion>
	</exclusions> -->
</dependency>

或者直接用2.5.6版本dubbo即可,dubbo2.5.6版本用的spring4.1.6版本

pom文件


dubbo里面pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>cn.yh</groupId>
		<artifactId>ssm-parent</artifactId>
		<version>0.0.1-SNAPSHOT</version>
	</parent>
	<artifactId>ssm-dubbo</artifactId>
	  <dependencies>
		<dependency>
			<groupId>cn.yh</groupId>
			<artifactId>ssm-service</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo</artifactId>
			<version>2.5.3</version>
			<exclusions>
				<exclusion>
					<artifactId>spring</artifactId>
					<groupId>org.springframework</groupId>
				</exclusion>
			</exclusions> 
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>4.3.10.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>com.101tec</groupId>
			<artifactId>zkclient</artifactId>
			<version>0.10</version>
			</dependency>
			<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>${aspectjweaver-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${spring-version}</version>
		</dependency>
		<!-- mybatis -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>${mybatis-version}</version>
		</dependency>
		<!-- mybatis整合Spring -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>${mybatis-spring-version}</version>
		</dependency>
		<!-- log4j -->
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>${log4j-version}</version>
		</dependency>
		<!-- 数据库驱动 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>${mysql-connector-java-version}</version>
		</dependency>
	</dependencies>
	<build>
		<resources>
			<resource>
				<directory>src/main/java</directory>
				<includes>
					<include>**/*.properties</include>
					<include>**/*.xml</include>
				</includes>
				<filtering>false</filtering>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<includes>
					<include>**/*.properties</include>
					<include>**/*.xml</include>
				</includes>
				<filtering>false</filtering>
			</resource>
		</resources>
		</build>
</project>

消费者里面的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>cn.yh</groupId>
    <artifactId>ssm-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>ssm-manage</artifactId>
  <packaging>war</packaging>
 	<properties>
		<javax.servlet-api-version>3.0.1</javax.servlet-api-version>
		<jsp-api-version>2.2</jsp-api-version>
		<jstl-version>1.2</jstl-version>
		<spring-version>4.1.6.RELEASE</spring-version>
		<mybatis-version>3.2.7</mybatis-version>
		<mybatis-spring-version>1.2.3</mybatis-spring-version>
		<log4j-version>1.2.17</log4j-version>
		<mysql-connector-java-version>5.1.38</mysql-connector-java-version>
		<jackson-version>2.4.1</jackson-version>
		<commons-fileupload>1.3.1</commons-fileupload>
		<commons-io-version>2.2</commons-io-version>
		<aspectjweaver-version>1.8.6</aspectjweaver-version>
		<tomcat7-maven-plugin-version>2.2</tomcat7-maven-plugin-version>
		<dubbo-version>2.5.3</dubbo-version>
		<zkclient-version>0.10</zkclient-version>
		<jedis-version>2.8.1</jedis-version>
		<ftpclient-version>3.3</ftpclient-version>
		<pagehelper-version>4.1.6</pagehelper-version>
		<junit-version>4.11</junit-version>
		<solrj-version>4.10.1</solrj-version>
		<httpclient-version>4.5</httpclient-version>
	</properties>
		<dependencies>
		<dependency>
			<groupId>cn.yh</groupId>
			<artifactId>ssm-service</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
			<!-- httpClient -->
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>${httpclient-version}</version>
			</dependency>
			<!-- solrj -->
			<dependency>
				<groupId>org.apache.solr</groupId>
				<artifactId>solr-solrj</artifactId>
				<version>${solrj-version}</version>
			</dependency>
			<!-- Junit4 -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit-version}</version>
			</dependency>
			<!-- servlet -->
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>javax.servlet-api</artifactId>
				<version>${javax.servlet-api-version}</version>
				<!-- 只在编译器生效,发布到tomcat时不包含 -->
				<scope>provided</scope>
			</dependency>
			<!-- jsp -->
			<dependency>
				<groupId>javax.servlet.jsp</groupId>
				<artifactId>jsp-api</artifactId>
				<version>${jsp-api-version}</version>
				<scope>provided</scope>
			</dependency>
			<!-- jstl -->
			<dependency>
				<groupId>jstl</groupId>
				<artifactId>jstl</artifactId>
				<version>${jstl-version}</version>
			</dependency>
			<!-- Spring -->
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-webmvc</artifactId>
				<version>${spring-version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-jdbc</artifactId>
				<version>${spring-version}</version>
			</dependency>
			<!-- mybatis -->
			<dependency>
				<groupId>org.mybatis</groupId>
				<artifactId>mybatis</artifactId>
				<version>${mybatis-version}</version>
			</dependency>
			<!-- mybatis整合Spring -->
			<dependency>
				<groupId>org.mybatis</groupId>
				<artifactId>mybatis-spring</artifactId>
				<version>${mybatis-spring-version}</version>
			</dependency>
			<!-- log4j -->
			<dependency>
				<groupId>log4j</groupId>
				<artifactId>log4j</artifactId>
				<version>${log4j-version}</version>
			</dependency>
			<!-- 数据库驱动 -->
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>${mysql-connector-java-version}</version>
			</dependency>
			<!-- jackson -->
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-databind</artifactId>
				<version>${jackson-version}</version>
			</dependency>
			<!-- apache 图片上传 -->
			<dependency>
				<groupId>commons-fileupload</groupId>
				<artifactId>commons-fileupload</artifactId>
				<version>${commons-fileupload}</version>
			</dependency>
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>${commons-io-version}</version>
			</dependency>
			<dependency>
				<groupId>org.aspectj</groupId>
				<artifactId>aspectjweaver</artifactId>
				<version>${aspectjweaver-version}</version>
			</dependency>

			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>dubbo</artifactId>
				<version>${dubbo-version}</version>
				  <exclusions>
					<exclusion>
						<artifactId>spring</artifactId>
						<groupId>org.springframework</groupId>
					</exclusion>
				</exclusions>  
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-context</artifactId>
				<version>${spring-version}</version>
			</dependency>
			<dependency>
				<groupId>com.101tec</groupId>
				<artifactId>zkclient</artifactId>
				<version>${zkclient-version}</version>
			</dependency>
			<dependency>
				<groupId>com.github.pagehelper</groupId>
				<artifactId>pagehelper</artifactId>
				<version>${pagehelper-version}</version>
			</dependency>
			<!-- ftpclient -->
			<dependency>
				<groupId>commons-net</groupId>
				<artifactId>commons-net</artifactId>
				<version>${ftpclient-version}</version>
			</dependency>
			<!-- jedis -->
			<dependency>
				<groupId>redis.clients</groupId>
				<artifactId>jedis</artifactId>
				<version>${jedis-version}</version>
			</dependency>
		</dependencies>
	<build>
		<resources>
			<resource>
				<directory>src/main/java</directory>
				<includes>
					<include>**/*.properties</include>
					<include>**/*.xml</include>
				</includes>
				<filtering>false</filtering>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<includes>
					<include>**/*.properties</include>
					<include>**/*.xml</include>
				</includes>
				<filtering>false</filtering>
			</resource>
		</resources>
		<!-- 为什么只声明:如果在父项目中引入,所有继承的子项目都需要导入所有jar一遍 -->
			<plugins>
				<plugin>
					<groupId>org.apache.tomcat.maven</groupId>
					<artifactId>tomcat7-maven-plugin</artifactId>
					<version>${tomcat7-maven-plugin-version}</version>
					<configuration>
						<port>80</port>
						<path>/</path>
					</configuration>
				</plugin>
			</plugins>
	</build>

</project>

学习新的知识,最浪费时间在架构搭建上,整理一下,帮助大家解决点问题




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

smilecattobelucky

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值