1. 程式人生 > >mule studio 學習筆記 (二): test006-loanbroker-simple

mule studio 學習筆記 (二): test006-loanbroker-simple

lookupCustomerCreditProfile部分

1)服務介面 @WebService

Both the annotation types are from package javax.jws. The @WebService annotation marks a class as implementing a web service, and the @WebMethod annotation is used to expose a method as web service method.

<span style="color:#000000;"><span style="color:#FF0000;">@WebService</span>
public interface Lookup_CreditProfile_Service {

	CreditProfile getCreditProfile(Customer customer);
}</span>
否則無法生成。顯示錯誤:operation cannot be found.

                                                 event cannot route via endpoint....

此處使用了Java annotation(註解)@

從JDK1.5開始,Java中增加了對元資料(MetaData)的支援,也就是Annotation(註釋),這種Annotation與Java程式中的單行註釋和文字註釋是有一定區別,也有一定聯絡的。其實,我們現在說的Annotation是程式碼裡的特殊標記,這些標記可以在編譯,類載入,執行時被讀取,並執行相應的處理。通過Annotation,程式開發人員可以在不改變原來邏輯的情況下,在原始檔嵌入一些補充的資訊。程式碼分析工具,開發工具和部署工具可通過這些補充資訊進行驗正或者部署。

wiki 定義:

An annotation, in the Java computer programming language, is a form of syntactic metadata that can be added to Java source code.[1] Classes, methods, variables, parameters and packages may be annotated. Unlike Javadoc tags, Java annotations can be reflective in that they can be embedded in

class files generated by the compiler and may be retained by the Java VM to be made retrievable at run-time.[2] It is possible to create meta-annotations out of the existing ones in Java

作用:

註解(Annotation) 為我們在程式碼中新增資訊提供了一種形式化的方法,是我們可以在稍後 某個時刻方便地使用這些資料(通過 解析註解 來使用這些資料),常見的作用有以下幾種:

  • 生成文件。這是最常見的,也是java 最早提供的註解。常用的有@see @param @return 等
  • 跟蹤程式碼依賴性,實現替代配置檔案功能。比較常見的是spring 2.5 開始的基於註解配置。作用就是減少配置。現在的框架基本都使用了這種配置來減少配置檔案的數量。
  • 在編譯時進行格式檢查。如@override 放在方法前,如果你這個方法並不是覆蓋了超類方法,則編譯時就能檢查出。

自定義註解

包 java.lang.annotation 中包含所有定義自定義註解所需用到的原註解和介面。如介面 java.lang.annotation.Annotation 是所有註解繼承的介面,並且是自動繼承,不需要定義時指定,類似於所有類都自動繼承Object。

該包同時定義了四個元註解,Documented,Inherited,Target(作用範圍,方法,屬性,構造方法等),Retention(生命範圍,原始碼,class,runtime)。下面將在例項中逐個講解他們的作用,及使用方法。

 建第一個註解 : TestA.java

複製程式碼
package annotation.test;
/**
 *@interface用來宣告一個註解,其中的每一個方法實際上是聲明瞭一個配置引數。
 *方法的名稱就是引數的名稱,返回值型別就是引數的型別。
 *可以通過default來宣告引數的預設值。
 *在這裡可以看到@Retention和@Target這樣的元註解,用來宣告註解本身的行為。
 *@Retention用來宣告註解的保留策略,有CLASS、RUNTIME和SOURCE這三種,
 *分別表示註解儲存在類檔案、JVM執行時刻和原始碼中。
 *只有當宣告為RUNTIME的時候,才能夠在執行時刻通過反射API來獲取到註解的資訊。
 *@Target用來宣告註解可以被新增在哪些型別的元素上,如型別、方法和域等。
 *就可以定義一個註解了,它將自動繼承Annotation
 */
public @interface TestA {
//這裡定義了一個空的註解,它能幹什麼呢。我也不知道,但他能用。 後面有補充
}
複製程式碼

2)payload變化

隨著訊息的傳遞,payload和message都在不斷地變化。

HTTP相關資料格式httpClient.ContentLengthInputStream或httpClient..methods.PostMethod

訊息及負載變化
expression後, payload=org.mule.model.CustomerQuoteRequest( '[email protected]');
setpayload後,payload=org.mule.model.Customer('[email protected]'  );
SOAP後,payload=java.lang.String('<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:getCreditProfi...[100 of 236]'  )

需要增加訊息內容時,選擇enricher scope,其中針對需要增加部分操作。否則將丟失未操作部分。


相關推薦

mule studio 學習筆記 (): test006-loanbroker-simple

lookupCustomerCreditProfile部分 1)服務介面 @WebService Both the annotation types are from package javax.jws. The @WebService annotation marks

mule studio學習筆記(五):JDBC結果處理

JDBC結點查詢(where key>specific_value)的返回結果形式如下。 [{key=value1},{key=value2},......] 其中,{...}為Mule定義型別CaseInsensitiveHashMap (extends Abstr

mule studio學習筆記(六):外部web service呼叫

1.eclipse中建立web Service        eclipse中配置axis2;       建立dynamic web service,Java Resource src中放置服務實現類,右擊,creat web service生成wsdl,右擊wsdl,p

SpringMVC學習筆記:常用註解

title c學習 請求 pin 學習 lin att 詳解 stp 轉載請註明原文地址:http://www.cnblogs.com/ygj0930/p/6831976.html 一、用於定義類的註解:@Controller @Controller 用於標記在一個類上,

Scala學習筆記()(for循環相關)

spa nts multiple bool val turn 優化 n) 例子 Scala裏if...else語句 if語句不管是在哪種語言裏是使用最多的語句了. scala的if語句與java如出一轍. 舉個栗子就不再贅述: 一個 if 語句的語法: if(Boolean

ES6學習筆記()——字符串擴展

兩個 -m 開始 部分 學習筆記 erro xxx ocs 個數 相信很多人也和我一樣,不喜歡這樣循規蹈矩的逐條去學習語法,很枯燥乏味。主要是這樣學完一遍之後,沒過一段時間就忘到九霄雲外了。不如實際用到的時候研究它記得牢靠,所以我就整理成筆記,加深記憶的同時便於復習查看。

MySQL學習筆記(

發送 int 賦值 數據庫基礎知識 font 字符 需要 con spa -- 回顧 數據庫基礎知識: 關系型數據庫(磁盤),建立在關系模型上的數據庫,數據結構(二維表),浪費空間。 操作數據的指令集合:SQL(DDL,DML[DQL]和DCL) 完整性約束:表內和表之間(

Android第一行代碼學習筆記---在活動中使用Toast

一行代碼 就會 onclick log sta contex instance and undle Toast:是Android系統提供的一種非常好的提醒方式,在程序中可以使用它將一些短小的信息通知給用戶,這些信息會在一段時間後自動消失,並且不會占用任何屏幕空間。 首先需要

framework7學習筆記:基礎知識

部分 cnblogs query 基礎 logs code 自己 $$ pan 一:DOM7 framework7有自己的 DOM7 - 一個集成了大部分常用DOM操作的高性能庫。它的用法和jQuery幾乎是一樣的,包括大部分常用的方法和jquery風格的鏈式調用。 在開發

node.js學習筆記之版本問題

nodejs targe tle 下一個 .cn blank 網站 mage 功能 一、版本說明 進入node.js官網https://nodejs.org/en/download/ 點擊上面的【All download options】進入到所有下載列表的地址 下載地

Java基礎學習筆記 網絡編程

數據丟失 交互圖 主動 總結 交互 servers -- 處理 關閉 絡通信協議 通過計算機網絡可以使多臺計算機實現連接,位於同一個網絡中的計算機在進行連接和通信時需要遵守一定的規則,這就好比在道路中行駛的汽車一定要遵守交通規則一樣。在計算機網絡中,這些連接和通信的規則被

Java基礎學習筆記十三 Java核心語法之反射

負責 目錄 boolean tostring 筆記 str 編譯 三種 進制 類加載器 類的加載 當程序要使用某個類時,如果該類還未被加載到內存中,則系統會通過加載,鏈接,初始化三步來實現對這個類進行初始化。 加載就是指將class文件讀入內存,並為之創建一個Clas

Java基礎學習筆記十四 MySQL安裝圖解

password data 默認 count 重新 doc documents tran xp系統 、MYSQL的安裝 1、打開下載的mysql安裝文件mysql-5.5.27-win32.zip,雙擊解壓縮,運行“setup.exe”。

Java基礎學習筆記十七 DBUtils和連接池

ride 基本 代碼塊 ear 不同 一行 ria 靜態方法 ... DBUtils 如果只使用JDBC進行開發,我們會發現冗余代碼過多,為了簡化JDBC開發,本案例我們講采用apache commons組件一個成員:DBUtils。DBUtils就是JDBC的簡化開發工

函數響應式編程及ReactiveObjC學習筆記 ()

per 舉例 def nsobject uibutton 為我 string method 寫法 之前我們初步認識了RAC的設計思路跟實現方式, 現在我們再來看看如果使用它以及它能幫我們做什麽 One of the major advantages of RAC is

html學習筆記

清空表 多行文本 按鈕 nbsp sel 沒有效果 提交表單 tip 效果 常用標簽學習: <img/>(單標簽) 圖片標簽 使用效果:在網頁中插入一張圖片,可設置alt屬性,在沒有加載到圖片的時候顯示提示文字(插入圖片有絕對路徑和相對路徑)。 <form

一起學ASP.NET Core 2.0學習筆記(): ef core2.0 及mysql provider 、Fluent API相關配置及遷移

upd order rac option 包管理 rtl code create .net core 不得不說微軟的技術叠代還是很快的,上了微軟的船就得跟著她走下去,前文一起學ASP.NET Core 2.0學習筆記(一): CentOS下 .net core2 s

學習筆記()

類型 名稱 提取 改變 資源 它的 char 進行 找不到 getenv():讀取環境變量當前值得函數原型:char *getenv(const char *name);功能:返回一給定的環境變量值,環境變量名可大寫或小寫。如果指定的變量在環境中未定義,則返回一空串。 頭文

Java學習筆記---環境變量

使用 nbsp tools.jar tool too 安裝目錄 指定命令 學習 java學習 1.環境變量包括: JAVA_HOME,CLASSPATH,PATH 2.設置環境變量的目的: 路徑搜索,方便查找到Java的安裝路徑、方便搜索用到的類、方便命令執

ES6學習筆記 新的聲明方式和變量的解構賦值!

是什麽 一句話 數組 name ont 簡單 cee 問題 二次 新的聲明方式 在ES5的時候,我們只有一個聲明方式,var!但是在es6中,聲明進行了擴展,我們加上ES5的var的申明方式,我們有了三種聲明方式: var:它是variable的簡寫,可以理解成變量的意思