鍒版錛屽熀鏈殑涓氬姟閫昏緫綾誨氨緙栧啓濂戒簡錛屾帴涓嬫潵錛屾槸Tuscany涓噸瑕佺殑閰嶇疆鏂囦歡錛屽嵆XXX.composite錛屽叾鏈川涔熸槸涓涓獂ml銆傚鏋滀笉鏄潰鍚戝垎甯冨紡鏈嶅姟錛岃xml鏂囦歡緇撴瀯綾諱技Spring鐨刟pplication.xml銆備笅闈㈡槸Calculator.composite錛屾敞鎰忛厤緗枃浠朵腑reference錛宯ame鏍囪涓篴dd錛屽簲璇ヤ篃鏄悓Spring鐨勫ぇ鍐欓瀛楁瘝瑙勫垯錛岄氳繃settrt娉ㄥ叆銆?/span><?xml version="1.0" encoding="UTF-8"?>
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
targetNamespace="http://sample"
xmlns:sample="http://sample"
xmlns:scallop="http://scallop/xmlns/sca/1.1"
name="Calculator" >
<component name="CalculatorServiceComponent">
<implementation.java class="com.ajun.tuscany.server.Calculator" />
<reference name="add" target="AddComponent"/>
</component>
<component name="AddComponent">
<implementation.java class="com.ajun.tuscany.server.Add" />
</component>
</composite>
鏈鍚庢槸榪愯main鐨勭被package com.ajun.tuscany.server;
import org.apache.tuscany.sca.node.Node;
import org.apache.tuscany.sca.node.NodeFactory;
public class StartService {
public static void main(String[] args) {
Node node = NodeFactory.newInstance().createNode(
"Calculator.composite");
node.start();
System.out.println("service鍚姩");
ICalculator c = node.getService(Calculator.class,
"CalculatorServiceComponent");
System.out.println(c.add(2, 2));
}
}
榪愯杈撳嚭濡備笅2014-11-10 17:39:24 org.apache.tuscany.sca.node.impl.NodeFactoryImpl loadContributions
淇℃伅: Loading contribution: file:/E:/HuRanjie/EclipseWorkspace/Calculatoer_01/bin/
2014-11-10 17:39:24 org.apache.tuscany.sca.host.rmi.DefaultRMIHost registerService
淇℃伅: RMI service registered: rmi://127.0.0.1:8099/CalculatorRMIService
2014-11-10 17:39:24 org.apache.tuscany.sca.core.assembly.impl.DomainRegistryImpl addEndpoint
淇℃伅: Add endpoint - binding.rmi - rmi://127.0.0.1:8099/CalculatorRMIService
2014-11-10 17:39:24 org.apache.tuscany.sca.core.assembly.impl.DomainRegistryImpl addEndpoint
淇℃伅: Add endpoint - binding.sca - AddComponent/Add
service鍚姩
4.0
3. 榪滅▼璋冪敤rmi
涓婇潰騫舵病鏈夊皢“璁$畻”綾諱綔涓轟竴涓湇鍔★紝鏆撮湶緇欒繙紼嬭皟鐢紝鍙槸瀹炵幇浜嗘湰鍦扮殑瑁呴厤銆備笅闈㈠皢鍏朵綔涓烘湇鍔$粰榪滅▼璋冪敤錛屽悗闈㈠彲浠ョ湅鍒幫紝鍙渶瑕佹毚闇蹭竴涓寘鎷琱ost銆乸ort銆乻erviceName
棣栧厛錛屼慨鏀歸厤緗枃浠訛紝淇敼涓哄涓嬫牱瀛?#8212;—鍦ㄦ湰鍦幫紙127.0.0.1錛夌殑8099绔彛鏆撮湶鍑哄悕瀛椾負CalculatorRMIService鐨勬湇鍔?/p>
<?xml version="1.0" encoding="UTF-8"?>
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
targetNamespace="http://sample"
xmlns:sample="http://sample"
xmlns:scallop="http://scallop/xmlns/sca/1.1"
name="Calculator" >
<component name="CalculatorServiceComponent">
<implementation.java class="com.ajun.tuscany.server.Calculator" />
<service name="Calculator">
<interface.java interface="com.ajun.tuscany.server.ICalculator"/>
<tuscany:binding.rmi uri="rmi://127.0.0.1:8099/CalculatorRMIService"/>
</service>
<reference name="add" target="AddComponent"/>
</component>
<component name="AddComponent">
<implementation.java class="com.ajun.tuscany.server.Add" />
</component>
</composite>
鏈嶅姟鍣ㄧ鐨刴ain涓昏鍔熻兘鏄惎鍔ㄨ鏈嶅姟錛屽涓?/p>
package com.ajun.tuscany.server;
import org.apache.tuscany.sca.node.Node;
import org.apache.tuscany.sca.node.NodeFactory;
public class StartService {
public static void main(String[] args) {
Node node = NodeFactory.newInstance().createNode(
"Calculator.composite");
node.start();
System.out.println("service鍚姩");
}
}
瀹㈡埛绔氳繃rmi璋冪敤鏈嶅姟鍣ㄧ鐨勬湇鍔★紝鏉ュ疄鐜板姛鑳斤紝濡備笅
package com.ajun.tuscany.client;
import java.rmi.Naming;
import com.ajun.tuscany.server.ICalculator;
public class CalculatorClient {
public static void main(String[] args) throws Exception {
ICalculator c= (ICalculator) Naming.lookup("http://127.0.0.1:8099/CalculatorRMIService");
System.out.println(c.add(1, 2));
}
}
鍚姩鏈嶅姟绔緭鍑?/p>
2014-11-10 18:00:30 org.apache.tuscany.sca.node.impl.NodeImpl start
淇℃伅: Starting node: http://tuscany.apache.org/sca/1.1/nodes/default0 domain: default
2014-11-10 18:00:30 org.apache.tuscany.sca.node.impl.NodeFactoryImpl loadContributions
淇℃伅: Loading contribution: file:/E:/HuRanjie/EclipseWorkspace/Calculatoer_01/bin/
2014-11-10 18:00:31 org.apache.tuscany.sca.host.rmi.DefaultRMIHost registerService
淇℃伅: RMI service registered: rmi://127.0.0.1:8099/CalculatorRMIService
2014-11-10 18:00:31 org.apache.tuscany.sca.core.assembly.impl.DomainRegistryImpl addEndpoint
淇℃伅: Add endpoint - binding.rmi - rmi://127.0.0.1:8099/CalculatorRMIService
2014-11-10 18:00:31 org.apache.tuscany.sca.core.assembly.impl.DomainRegistryImpl addEndpoint
淇℃伅: Add endpoint - binding.sca - AddComponent/Add
service鍚姩
瀹㈡埛绔緭鍑?br />
3.0

]]>