zoukankan      html  css  js  c++  java
  • activiti用dubbo分布服务

    dubbo手册地址:https://www.gitbook.com/@dubbo

    dubbo包地址:http://dubbo.io/

    实现非常简单,难点在于dubbo调优。简单就是接口都是现成的,实现类还是现成的,所以你只需要配置就行了。

    项目用的是SSM,如果不需要或者不一样 注意下面的pom配置文件。

    dubbo.xml

    <?xml version="1.0" encoding="UTF-8"?>

    <!-- Copyright 1999-2011 Alibaba Group. -->

    <beans xmlns="http://www.springframework.org/schema/beans"

             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"

             xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"

             xsi:schemaLocation="http://www.springframework.org/schema/beans  

            http://www.springframework.org/schema/beans/spring-beans.xsd  

            http://www.springframework.org/schema/context  

            http://www.springframework.org/schema/context/spring-context-2.5.xsd 

            http://code.alibabatech.com/schema/dubbo  

            http://code.alibabatech.com/schema/dubbo/dubbo.xsd  

            ">

             <!-- 提供方应用信息,用于计算依赖关系 -->

             <dubbo:application name="activiti-provider" owner="nihoutao所有人"

                       organization="mayun你的组织名称" />

             <!-- 注册中心暴露服务地址 -->

             <dubbo:registry group="dubbo"

                       address="zookeeper://127.0.0.1:2181?client=zkclient" check="false" />

             <!-- 用dubbo协议在20880端口暴露服务 -->

             <dubbo:protocol name="dubbo" port="20880" />

             <dubbo:provider dispatcher="all" timeout="50000"

                       threadpool="fixed" threads="500" accepts="1000" />

                      

             <!-- activiti对外开放的七大服务 -->

        <dubbo:service interface="org.activiti.engine.RepositoryService" ref="repositoryService"/>

        <dubbo:service interface="org.activiti.engine.RuntimeService" ref="runtimeService"/>

             <dubbo:service interface="org.activiti.engine.FormService" ref="formService"/>

             <dubbo:service interface="org.activiti.engine.IdentityService" ref="identityService"/>

             <dubbo:service interface="org.activiti.engine.TaskService" ref="taskService"/>

             <dubbo:service interface="org.activiti.engine.HistoryService" ref="historyService"/>

             <dubbo:service interface="org.activiti.engine.ManagementService" ref="managementService"/>

        <!-- ./activiti对外开放的七大服务 -->

       

             <!-- 扫描注解包路径,多个包用逗号分隔,不填pacakge表示扫描当前ApplicationContext中所有的类 -->

             <dubbo:annotation package="com.alibaba" />

    我不建议扫包这种方式,因为后期还得配置好多,要么都得在类上声明,不方便啊。

    </beans>

    在类上注释的样子。

     

    配置dubbo你可能遇到两个问题,一个就是小红叉问题:http://blog.csdn.net/jiao_zg/article/details/64439525

    还有一个就是消费方找不到你的类,报出让你重新注册这个那个滴,这不是你配置的问题,是你的提供方和消费方的这个要用的类路径不一致。当然,你要是不用扫包,用引用的方式还有这个问题,那就可能是这个解决方式,也可能不是,多搜搜吧。

    pom.xml

             <properties>

                       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

                       <srping.version>4.3.10.RELEASE</srping.version>

                       <mybatis.version>3.2.8</mybatis.version>

                       <slf4j.version>1.7.25</slf4j.version>

                       <log4j.version>1.2.17</log4j.version>

                       <dubbo.version>2.5.5</dubbo.version>

                       <redis.version>2.5.5</redis.version>

                       <commons-dbcp.version>1.4</commons-dbcp.version>

                       <jackson.version>2.0.4</jackson.version>

                       <spymemcached.version>2.8.1</spymemcached.version>

                       <guava.version>17.0</guava.version>

                       <commons-lang3.version>3.3.2</commons-lang3.version>

                       <commons-io.version>2.4</commons-io.version>

                       <joda-time.version>2.1</joda-time.version>

                       <jetty.version>8.1.15.v20140411</jetty.version>

                       <mockito.version>1.9.0</mockito.version>

                       <powermock.version>1.4.12</powermock.version>

                       <activiti.version>5.22.0</activiti.version>

             </properties>

             <!-- 用到的jar包 -->

             <dependencies>

                       <!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-spring -->

                       <!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-ehcache -->

                       <!-- dubbo -->

                       <dependency>

                                <groupId>com.alibaba</groupId>

                                <artifactId>dubbo</artifactId>

                                <version>${dubbo.version}</version>

                       </dependency>

                       <!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper -->

                       <dependency>

                           <groupId>org.apache.zookeeper</groupId>

                           <artifactId>zookeeper</artifactId>

                           <version>3.4.9</version>

                       </dependency>

                       <!-- https://mvnrepository.com/artifact/com.101tec/zkclient -->

                       <dependency>

                           <groupId>com.101tec</groupId>

                           <artifactId>zkclient</artifactId>

                           <version>0.10</version>

                       </dependency>

                       <!-- redis -->

                       <dependency>

                                <groupId>redis.clients</groupId>

                                <artifactId>jedis</artifactId>

                                <version>2.9.0</version>

                       </dependency>

                      

                       <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-redis -->

                       <dependency>

                           <groupId>org.springframework.data</groupId>

                           <artifactId>spring-data-redis</artifactId>

                           <version>1.8.7.RELEASE</version>

                       </dependency>

                       <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->

                       <dependency>

                           <groupId>com.alibaba</groupId>

                           <artifactId>druid</artifactId>

                           <version>1.1.3</version>

                       </dependency>

                      

                       <!-- quartz -->

                       <dependency>

                                <groupId>org.quartz-scheduler</groupId>

                                <artifactId>quartz</artifactId>

                                <version>2.3.0</version>

                       </dependency>

                      

                       <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator -->

                       <dependency>

                           <groupId>org.hibernate</groupId>

                           <artifactId>hibernate-validator</artifactId>

                           <version>5.2.0.Final</version>

                       </dependency>

                      

                       <!-- activit demo 复制得到 -->

                       <!-- actvititi -->

                       <dependency>

                                <groupId>com.fasterxml.jackson.core</groupId>

                                <artifactId>jackson-databind</artifactId>

                                <version>2.5.4</version>

                       </dependency>

                       <dependency>

                                <groupId>org.activiti</groupId>

                                <artifactId>activiti-engine</artifactId>

                                <version>${activiti.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.activiti</groupId>

                                <artifactId>activiti-spring</artifactId>

                                <version>${activiti.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.activiti</groupId>

                                <artifactId>activiti-json-converter</artifactId>

                                <version>${activiti.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.activiti</groupId>

                                <artifactId>activiti-explorer</artifactId>

                                <version>${activiti.version}</version>

                                <exclusions>

                                         <exclusion>

                                                   <artifactId>vaadin</artifactId>

                                                   <groupId>com.vaadin</groupId>

                                         </exclusion>

                                         <exclusion>

                                                   <artifactId>dcharts-widget</artifactId>

                                                   <groupId>org.vaadin.addons</groupId>

                                         </exclusion>

                                         <exclusion>

                                                   <artifactId>activiti-simple-workflow</artifactId>

                                                   <groupId>org.activiti</groupId>

                                         </exclusion>

                                </exclusions>

                       </dependency>

                       <dependency>

                                <groupId>org.activiti</groupId>

                                <artifactId>activiti-modeler</artifactId>

                                <version>${activiti.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.activiti</groupId>

                                <artifactId>activiti-rest</artifactId>

                                <version>${activiti.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.activiti</groupId>

                                <artifactId>activiti-diagram-rest</artifactId>

                                <version>${activiti.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.activiti</groupId>

                                <artifactId>activiti-cxf</artifactId>

                                <version>${activiti.version}</version>

                       </dependency>

                       <!-- cxf的http支持 -->

                       <dependency>

                                <groupId>org.apache.cxf</groupId>

                                <artifactId>cxf-api</artifactId>

                                <version>2.7.6</version>

                       </dependency>

                       <dependency>

                                <groupId>org.apache.cxf</groupId>

                                <artifactId>cxf-rt-frontend-jaxws</artifactId>

                                <version>2.7.6</version>

                       </dependency>

                       <dependency>

                                <groupId>org.apache.cxf</groupId>

                                <artifactId>cxf-rt-transports-http-jetty</artifactId>

                                <version>2.7.6</version>

                                <scope>test</scope>

                       </dependency>

                       <dependency>

                                <groupId>org.apache.cxf</groupId>

                                <artifactId>cxf-rt-transports-http</artifactId>

                                <version>2.7.6</version>

                       </dependency>

                       <dependency>

                                <groupId>com.sun.xml.bind</groupId>

                                <artifactId>jaxb-impl</artifactId>

                                <version>2.2.11</version>

                       </dependency>

                       <!-- 支持activiti缓存 -->

                       <dependency>

                                <groupId>org.infinispan</groupId>

                                <artifactId>infinispan-core</artifactId>

                                <version>5.1.7.Final</version>

                       </dependency>

                       <dependency>

                                <groupId>org.aspectj</groupId>

                                <artifactId>aspectjrt</artifactId>

                                <version>1.6.9</version>

                       </dependency>

                       <dependency>

                                <groupId>org.aspectj</groupId>

                                <artifactId>aspectjweaver</artifactId>

                                <version>1.6.9</version>

                       </dependency>

                       <dependency>

                                <groupId>cglib</groupId>

                                <artifactId>cglib</artifactId>

                                <version>2.2.2</version>

                       </dependency>

                       <dependency>

                                <groupId>asm</groupId>

                                <artifactId>asm</artifactId>

                                <version>3.3.1</version>

                       </dependency>

                       <!-- SPRING end -->

                       <!-- PERSISTENCE begin -->

                       <dependency>

                                <groupId>org.springframework</groupId>

                                <artifactId>spring-orm</artifactId>

                                <version>${spring.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.springframework</groupId>

                                <artifactId>spring-jdbc</artifactId>

                                <version>${spring.version}</version>

                       </dependency>

                       <!-- dbcp connection pool -->

                       <dependency>

                                <groupId>org.apache.commons</groupId>

                                <artifactId>commons-dbcp2</artifactId>

                                <version>2.0.1</version>

                       </dependency>

                       <!-- PERSISTENCE end -->

                       <!-- WEB begin -->

                       <dependency>

                                <groupId>org.springframework</groupId>

                                <artifactId>spring-web</artifactId>

                                <version>${spring.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.springframework</groupId>

                                <artifactId>spring-webmvc</artifactId>

                                <version>${spring.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>javax.servlet</groupId>

                                <artifactId>jstl</artifactId>

                                <version>1.2</version>

                       </dependency>

                       <dependency>

                                <groupId>javax.servlet</groupId>

                                <artifactId>javax.servlet-api</artifactId>

                                <version>3.1.0</version>

                                <scope>provided</scope>

                       </dependency>

                       <!-- WEB end -->

                       <!-- LOGGING begin -->

                       <dependency>

                                <groupId>org.slf4j</groupId>

                                <artifactId>slf4j-api</artifactId>

                                <version>${slf4j.version}</version>

                       </dependency>

                       <!-- activiti 日志调整到项目日志中 -->

                       <dependency>

                                <groupId>org.slf4j</groupId>

                                <artifactId>slf4j-log4j12</artifactId>

                                <version>${slf4j.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.slf4j</groupId>

                                <artifactId>jcl-over-slf4j</artifactId>

                                <version>${slf4j.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>log4j</groupId>

                                <artifactId>log4j</artifactId>

                                <version>${log4j.version}</version>

                       </dependency>

                       <!-- LOGGING end -->

                       <!-- GENERAL UTILS begin -->

                       <dependency>

                                <groupId>org.apache.commons</groupId>

                                <artifactId>commons-lang3</artifactId>

                                <version>${commons-lang3.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>commons-beanutils</groupId>

                                <artifactId>commons-beanutils</artifactId>

                                <version>1.8.3</version>

                                <exclusions>

                                         <exclusion>

                                                   <groupId>commons-logging</groupId>

                                                   <artifactId>commons-logging</artifactId>

                                         </exclusion>

                                </exclusions>

                       </dependency>

                       <dependency>

                                <groupId>com.google.guava</groupId>

                                <artifactId>guava</artifactId>

                                <version>${guava.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.jodd</groupId>

                                <artifactId>jodd</artifactId>

                                <version>3.3.2</version>

                       </dependency>

                       <dependency>

                                <groupId>joda-time</groupId>

                                <artifactId>joda-time</artifactId>

                                <version>${joda-time.version}</version>

                       </dependency>

                       <!-- UUID -->

                       <dependency>

                                <groupId>com.fasterxml.uuid</groupId>

                                <artifactId>java-uuid-generator</artifactId>

                                <version>3.1.3</version>

                       </dependency>

                       <!-- GENERAL UTILS end -->

                  <!-- activit demo 复制得到 -->

                       <!-- 单元测试 -->

                       <dependency>

                                <groupId>junit</groupId>

                                <artifactId>junit</artifactId>

                                <version>4.11</version>

                                <!-- 表示开发的时候引入,发布的时候不会加载此包 -->

                                <scope>test</scope>

                       </dependency>

                       <!-- java ee包 -->

                       <dependency>

                                <groupId>javax</groupId>

                                <artifactId>javaee-api</artifactId>

                                <version>7.0</version>

                       </dependency>

                       <!-- spring框架包 start -->

                       <dependency>

                                <groupId>org.springframework</groupId>

                                <artifactId>spring-test</artifactId>

                                <version>${srping.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.springframework</groupId>

                                <artifactId>spring-core</artifactId>

                                <version>${srping.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.springframework</groupId>

                                <artifactId>spring-oxm</artifactId>

                                <version>${srping.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.springframework</groupId>

                                <artifactId>spring-tx</artifactId>

                                <version>${srping.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.springframework</groupId>

                                <artifactId>spring-jdbc</artifactId>

                                <version>${srping.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.springframework</groupId>

                                <artifactId>spring-aop</artifactId>

                                <version>${srping.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.springframework</groupId>

                                <artifactId>spring-context</artifactId>

                                <version>${srping.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.springframework</groupId>

                                <artifactId>spring-context-support</artifactId>

                                <version>${srping.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.springframework</groupId>

                                <artifactId>spring-expression</artifactId>

                                <version>${srping.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.springframework</groupId>

                                <artifactId>spring-orm</artifactId>

                                <version>${srping.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.springframework</groupId>

                                <artifactId>spring-web</artifactId>

                                <version>${srping.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.springframework</groupId>

                                <artifactId>spring-webmvc</artifactId>

                                <version>${srping.version}</version>

                       </dependency>

                       <!-- spring框架包 end -->

                       <!-- mybatis框架包 start -->

                       <dependency>

                                <groupId>org.mybatis</groupId>

                                <artifactId>mybatis</artifactId>

                                <version>${mybatis.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.mybatis</groupId>

                                <artifactId>mybatis-spring</artifactId>

                                <version>1.2.2</version>

                       </dependency>

                       <!-- mybatis框架包 end -->

                       <!-- 数据库驱动 -->

                       <dependency>

                                <groupId>mysql</groupId>

                                <artifactId>mysql-connector-java</artifactId>

                                <version>5.1.35</version>

                       </dependency>

                       <!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -->

                       <dependency>

                                <groupId>commons-dbcp</groupId>

                                <artifactId>commons-dbcp</artifactId>

                                <version>1.4</version>

                       </dependency>

                       <!-- jstl标签类 -->

                       <dependency>

                                <groupId>jstl</groupId>

                                <artifactId>jstl</artifactId>

                                <version>1.2</version>

                       </dependency>

                       <!-- log start -->

                       <dependency>

                                <groupId>log4j</groupId>

                                <artifactId>log4j</artifactId>

                                <version>${log4j.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.slf4j</groupId>

                                <artifactId>slf4j-api</artifactId>

                                <version>${slf4j.version}</version>

                       </dependency>

                       <dependency>

                                <groupId>org.slf4j</groupId>

                                <artifactId>slf4j-log4j12</artifactId>

                                <version>${slf4j.version}</version>

                       </dependency>

                       <!-- log END -->

                       <!-- Json -->

                       <!-- 格式化对象,方便输出日志 -->

                       <dependency>

                                <groupId>com.alibaba</groupId>

                                <artifactId>fastjson</artifactId>

                                <version>1.2.6</version>

                       </dependency>

                       <dependency>

                                <groupId>org.codehaus.jackson</groupId>

                                <artifactId>jackson-mapper-asl</artifactId>

                                <version>1.9.13</version>

                       </dependency>

                       <!-- 上传组件包 start -->

                       <dependency>

                                <groupId>commons-fileupload</groupId>

                                <artifactId>commons-fileupload</artifactId>

                                <version>1.3.1</version>

                       </dependency>

                       <dependency>

                                <groupId>commons-io</groupId>

                                <artifactId>commons-io</artifactId>

                                <version>2.4</version>

                       </dependency>

                       <dependency>

                                <groupId>commons-codec</groupId>

                                <artifactId>commons-codec</artifactId>

                                <version>1.10</version>

                       </dependency>

                       <!-- 上传组件包 end -->

             </dependencies>

    部署的可视化监控  在jar包中的dubbo-admin文件中 直接部署就行

  • 相关阅读:
    maven常用仓库
    AD域安装及必要设置
    oracle创建表空间
    javascript弹出模态窗体
    win8.1 AMD 屏幕亮度无法调整
    tomcat优化
    CentOS 6.2 中文
    tomcat之JNDI数据源配置
    eclipse中tomcat配置(待完善)
    Ant打jar包指定MainClass
  • 原文地址:https://www.cnblogs.com/core404/p/7562045.html
Copyright © 2011-2022 走看看