Spring零配置整合Dubbo

2021-08-20 06:37:46 字數 3179 閱讀 6768

3.0.4cxf-core.version>

3.5.1.finalresteasy-client.version>

4.0.51hessian.version>

2.4.3xmemcached.version>

2.12.0curator-framework.version>

0.10zkclient.version>

com.alibabagroupid>

dubboartifactid>

$version>

org.springframeworkgroupid>

springartifactid>

exclusion>

exclusions>

dependency>

org.apache.cxfgroupid>

cxf-coreartifactid>

$version>

dependency>

org.jboss.resteasygroupid>

resteasy-clientartifactid>

$version>

dependency>

com.cauchogroupid>

hessianartifactid>

$version>

dependency>

com.googlecode.xmemcachedgroupid>

xmemcachedartifactid>

$version>

dependency>

org.apache.curatorgroupid>

curator-frameworkartifactid>

$version>

dependency>

com.101tecgroupid>

zkclientartifactid>

$version>

org.slf4jgroupid>

slf4j-apiartifactid>

exclusion>

org.slf4jgroupid>

slf4j-log4j12artifactid>

exclusion>

log4jgroupid>

log4jartifactid>

exclusion>

exclusions>

dependency>

假設消費方希望呼叫提供方的下列介面:

public

inte***ce

citydubboservice

我們先看服務提供方這邊的使用形式:

第一步需要有實現此介面,當消費方呼叫時能有物件來執行業務邏輯。

import com.alibaba.dubbo.config.annotation.service;

import com.bob.integrate.dubbo.common.entity.city;

import com.bob.integrate.dubbo.common.service.citydubboservice;

/** * 城市業務 dubbo 服務層實現層

*/@service(version = "1.0.0")

public

class

cityserviceprovider

implements

citydubboservice

}

同時使用dubbo的@service註解,將其註冊為spring的bean和dubbo的開放元件。

當然@service註解能其作用的前提是將dubbo框架整合入spring中:

/**

*@author administrator

*@create 2018-05-06 19:24

*/@enabledubbo

@configuration

@propertysource("classpath:dubbo-provider.properties")

public

class

dubboprovidercontextconfig

dubbo-provider.properties:

dubbo.registry.address=zookeeper:

#可以直接設定元件的bean名稱,這樣就不使用預設的建構函式生成,因此以dubbo.protocol開頭的其他配置就沒用了,直接在bean裡設定

#dubbo.protocol.id=dubboprotocolbean

dubbo.protocol.name=dubbo

dubbo.protocol.port=20880

這樣spring容器在啟動時就會通過@enabledubbo引入dubbo,解析相應的配置,註冊相應的元件。不過在啟動spring前,請先啟動zookeeper,讓其接受提供者和消費者的服務註冊。

zookeeper版本選擇3.4.*,匹配zkclient的版本。

2 . 下面看dubbo消費者的使用方式:

/**

*@author administrator

*@create 2018-05-06 19:25

*/@enabledubbo

@componentscan

@propertysource("classpath:dubbo-consumer.properties")

public

class

dubboconsumercontextconfig

dubbo-consumer.properties:

dubbo.registry.address=zookeeper:

向將dubbo引入spring,同時配置zookeeper註冊位址以及應用方名稱。

之後就可以在spring bean中使用rpc服務:

@component

public

class cityserviceconsumer

}

通過@reference標識開放介面,在使用時就能呼叫提供方此介面的實現bean,實現rpc呼叫。

以上就是最簡化的dubbo在spring裡的配置和使用形式。

Spring與Struts2零配置整合

第一種方式 classname 用註解配置action 是 action value action 但將註解和spring聯絡起來,我們看文件知道,只需要 action value action classname spring中的id 這樣,當放問這個action時,struts2就向spring...

Spring 整合Dubbo配置

dubbo zookeeper moven project安裝設定好後,我們就要應用dubbo來實現服務的部署 dubbo 服務分為服務提供端與消費端 開啟eclipse,然後windows preferrence xml xmlcatalog add catalog entry file syst...

activemq與spring整合配置

對於spring與activemq整合的配置,資料已經很多,不再贅述。我只闡述本人在學習中遇到的問題。我在使用 spring與 activemq整合是遇到乙個問題.問題 在使用發布 訂閱模式時,訊息持久化到資料庫。當客戶端掛掉後,然後重啟客戶端,然而重啟後的客戶端並未消費未消費的訊息。解決 在配置 ...