dubbox在異構系統中的使用
前端包括C#、Android等,後端採用java編寫,經考量最終選擇dubbox作為服務框架。主要步驟包括:
1. git clone dubbox,執行mvn編譯釋出。如果遇到錯誤,可以跳過: mvn install -Dmaven.test.skip=true
2. 建立api,供Android直接使用,C#客戶端無法直接使用但起到很好的參考作用。主要是dependencies的版本要一致。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>com.abel</groupId> <artifactId>dubbox-demo</artifactId> <version>1.0</version> </parent> <artifactId>dubbox-demo-api</artifactId> <name>dubbox demo api for both client & server</name> <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.46</version> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxrs</artifactId> <version>3.1.4.Final</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.3.3</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version> </dependency> </dependencies> </project>
3. 建立服務實現,在tomcat中釋出執行。pom.xml如下:
<?xml version="1.0" encoding="UTF-8"?> <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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.abel</groupId> <artifactId>dubbox</artifactId> <name>dubbox-demo-spring</name> <packaging>war</packaging> <version>1.0.0</version> <properties> <java-version>1.6</java-version> <org.springframework-version>3.2.9.RELEASE</org.springframework-version> <org.aspectj-version>1.6.10</org.aspectj-version> <org.slf4j-version>1.6.6</org.slf4j-version> </properties> <dependencies> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${org.springframework-version}</version> <exclusions> <!-- Exclude Commons Logging in favor of SLF4j --> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${org.springframework-version}</version> </dependency> <!-- AspectJ --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${org.aspectj-version}</version> </dependency> <!-- Logging --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${org.slf4j-version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>${org.slf4j-version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${org.slf4j-version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.15</version> <exclusions> <exclusion> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> </exclusion> <exclusion> <groupId>javax.jms</groupId> <artifactId>jms</artifactId> </exclusion> <exclusion> <groupId>com.sun.jdmk</groupId> <artifactId>jmxtools</artifactId> </exclusion> <exclusion> <groupId>com.sun.jmx</groupId> <artifactId>jmxri</artifactId> </exclusion> </exclusions> <scope>runtime</scope> </dependency> <!-- @Inject --> <dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>1</version> </dependency> <!-- Servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- Test --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.7</version> <scope>test</scope> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.8.4</version> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxrs</artifactId> <version>3.1.4.Final</version> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-client</artifactId> <version>3.1.4.Final</version> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jackson-provider</artifactId> <version>3.1.4.Final</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.3.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.3.3</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.46</version> </dependency> <dependency> <groupId>com.abel</groupId> <artifactId>dubbox-demo-api</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>6.0.7.Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId> hibernate-validator-annotation-processor </artifactId> <version>6.0.7.Final</version> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-eclipse-plugin</artifactId> <version>2.9</version> <configuration> <additionalProjectnatures> <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature> </additionalProjectnatures> <additionalBuildcommands> <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand> </additionalBuildcommands> <downloadSources>true</downloadSources> <downloadJavadocs>true</downloadJavadocs> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.5.1</version> <configuration> <source>1.6</source> <target>1.6</target> <compilerArgument>-Xlint:all</compilerArgument> <showWarnings>true</showWarnings> <showDeprecation>true</showDeprecation> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.2.1</version> <configuration> <mainClass>org.test.int1.Main</mainClass> </configuration> </plugin> </plugins> </build> </project>
4. 使用postman測試通過。實現全部服務,部署到生產系統。
相關推薦
dubbox在異構系統中的使用
前端包括C#、Android等,後端採用java編寫,經考量最終選擇dubbox作為服務框架。主要步驟包括:1. git clone dubbox,執行mvn編譯釋出。如果遇到錯誤,可以跳過: mvn install -Dmaven.test.skip=true2. 建立ap
dubbox在異構系統中的使用-補充1
除了新增必要的dependencies外,其他需要設定的檔案包括:1. web.xml,載入dubbox dispatch servlet:<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.
dubbox在異構系統中的使用-整合mybatis全註解方式到spring
原來在spring中使用mybatis一直採用了mapper-xml配置檔案方式,編寫Mapper介面檔案,然後編寫對應的sql指令碼xml配置檔案,最後在spring-context.xml配置檔案中配置mapper。得益於eclipse良好的程式碼提示功能,整合並不困難。
Spring Cloud(十)整合異構系統Nodejs(Spring Cloud Sidecar)
一、 Sidecar簡介 什麼是Sidecar模式? Sidecar模式是一種將應用功能從應用本身剝離出來作為單獨程序的方式。該模式允許我們嚮應用無侵入新增多種功能,避免了為滿足第三方元件需求而嚮應用新增額外的配置程式碼。 就像邊車加裝在摩托車上一樣,在軟體架構
分散式異構系統的資料一致性架構實現
分散式異構系統的實際應用場景 在現代的系統設計裡面,由於科技的不斷更新,分散式演算法和移動計算模型,分散式計算模型的成熟, 會產生很多系統遷移的案例, 主要是系統整合以及資料的遷移和整合。 隨著基於應用域的設計和開發(DDD)的成熟,讓微服務(Mirco-Service)架構的應運而生。 就產生了各個
hystri斷路器+zuul實現ApI閘道器+Sidecar異構系統呼叫NodeJS
hystri斷路器:豪豬 代表了一種防禦機制 分散式系統中,依賴呼叫失敗是不可避免的,為了避免一個依賴影響全域性 Netfilx團隊開發了Hystrix,hystrix提供了熔斷 、隔離、fallback、cache、監控等功能,能在一個一個依賴出問題的情況下保證系統可用 請求合併 將一
異構系統間的呼叫
一.需求背景 演算法團隊使用python作為開發語言,web系統的開發人員使用java,web系統提供了一些頁面操作,使用者點選 按鈕之後,java呼叫python指令碼進行處理。 二.錯誤的選擇 &nb
異構系統架構標準——HSA
前幾天看到一則新聞AMD發新Carrizo處理器http://digi.tech.qq.com/a/20150603/009450.htm 。這是第一個完整支援HSA1.0標準的產品。因為當時HSA是新生標準,沒有進入市場的產品,因此對於這個標準以前只知道是
什麼是異構系統?
異構資料庫系統是相關的多個數據庫系統的集合,可以實現資料的共享和透明訪問,每個資料庫系統在加入異構資料庫系統之前本身就已經存在,擁有自己的DMBS。異構資料庫的各個組成部分具有自身的自治性,實現資料共享的同時,每個資料庫系統仍保有自己的應用特性、完整性控制和安全性控制。異構資
文獻筆記03-基於異構資料來源的網路等級考試報名管理系統設計及實現
一、基本資訊 標題:基於異構資料來源的網路等級考試報名管理系統設計及實現 時間:2008. 出版源:中國知網 領域分類:計算機應用及軟體 二、研究背景 隨著我國高校擴大招生工作的進行,高校對學生的等級考試管理工作也面臨著新的要求。全國大學英語四、六級考試,專業外語四、八級考試,計算機等級考試,普通
異構(相容dubbo)SOA系統架構(.net)優化升級
原文: 異構(相容dubbo)SOA系統架構(.net)優化升級 前面一片文章已經提到我司的異構(相容dubbo)SOA系統架構,解決了不少技術痛點,也還算比較完善,也順利推廣開來。 但作為專案的開發者,自己產品的問題心裡是清楚的,離自己滿意還是有不小的距離。 在推廣的同時,我緊張的進入了下一個版本的開
異構SOA系統架構之Asp.net實現(相容dubbo)
原文: 異構SOA系統架構之Asp.net實現(相容dubbo) 我們公司技術部門情況比較複雜,分到多個集團,每個集團又可能分為幾個部門,每個部門又可能分為多個小組,組織架構比較複雜,開發人員比較多。 使用的程式語言也有點複雜,主流語言有.net(C#)、Java、PHP等。 所以SOA架構需要的是異構
Swift — 資料來源中的同構和異構
對於Swift的集合資料來說,有同構和異構之分。如果你需要討論一群鳥類或者一批飛機,那麼這樣的資料是同構的,比如包含鳥類的陣列[Bird]和包含飛機的陣列[Airplane]。有時你想要探討的是這些空中傢伙們的共性:飛翔,因此你的資料來源可能同時包含Bird和Airplane
雲端計算異構集群系統存在的問題
異構集群系統存在的問題 現有的Hadoop排程器都是建立在同構叢集的假設前提下,具體假設如下: 1)叢集中各個節點的效能完全一樣 2)對於reduce task,它的三個階段:copy、sort和reduce,用時各佔1/3 3)同一job的同類型的task是一批一批完成
PathSim:異構資訊網路中基於元路徑的Top-K相似度搜索(一)
2018年到啦,祝大家新年快樂~~時間過得真快,一年又這樣匆匆過去了,回想2017年,我。。。確實也沒怎麼努力學習,我深刻檢討,所以,先立個flag,2018年,我要認真鑽研,順利畢業,找個好工作,恩!好了,閒話到此為止,下面進入正題~ 這篇部落格總結了異質
win10系統中VMware與Hyper-v不兼容
vmware hyper-v 因為知道win10中有一個自帶的虛擬機Hyper-v於是今天就去添加去試一試,體驗了一把。結果在需要使用VMware的時候遇上這個問題這個就很尷尬了,由於平時很多的測試都在VMware上操作,這個使得很多重要數據都在上面,這樣只能重新把Hyper-v給關了再重啟了,
odoo系統中name_search和name_get用法
打印 per sequence not 添加 product xpath ret 領料單 自動帶出工序和工序序號,兩個條件都能搜索,並且兩個都帶出來顯示在前端: # 輸入工序序號會自動帶出工序名// def name_search(self, cr,user,name=
老男孩教育每日一題-2017年5月12日-磁盤知識點:linux系統中LVM配置實現方法?
邏輯卷管理 磁盤 每日一題 1.題目老男孩教育每日一題-2017年5月12日-磁盤知識點:linux系統中LVM配置實現方法?2.參考答案01:將一個或多個物理分區創建為一個PV# pvcreate /dev/sdb{1,2} Physical volume "/dev/sdb1" success
錯誤卸載軟件導致Windows7系統中的軟件無法播放視頻
gb2 content win net window text bsp 技術分享 pan 1、錯誤描寫敘述 2、錯誤原因 在卸載軟件時。不小心將Windows7中的服務給刪除了 3、解決的方法 又一次安裝操作系統 錯誤卸載軟件導致Wind
VMware12 中CENTOS系統中網絡(橋接模式)靜態ip設置
start 3.1 打開 設備 一段 引導 打開文件 虛擬網絡 -- 1.菜單欄:--》編輯 –》虛擬網絡編輯 2.虛擬機設置 3.啟動虛擬機 3.1打開文件ifcfg-eth0 命令如下: vi