发表于: 2017-05-29 23:33:16
1 1157
今天完成的事:
参照ajun教程三 绑定rmi服务
<composite
xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
targetNamespace="http://com.jnshu"
name="Calculator">
<!--xmlns="http://www.osoa.org/xmlns/sca/1.0"-->
<component name="CalculatorServiceComponent">
<implementation.java class="com.jnshu.service.Calculator" />
<service name="Calculator">
<interface.java interface="com.jnshu.service.ICalculator"/>
<tuscany:binding.rmi port="8099" host="localhost" serviceName="CalculatorRMIService" />
</service>
<reference name="add" target="AddComponent"/>
<reference name="subtract" target="SubtractComponent"/>
<reference name="multiply" target="MultiplyComponent"/>
<reference name="divide" target="DivideComponent"/>
</component>
<component name="AddComponent">
<implementation.java class="com.jnshu.service.Add" />
</component>
<component name="SubtractComponent">
<implementation.java class="com.jnshu.service.Subtract" />
</component>
<component name="MultiplyComponent">
<implementation.java class="com.jnshu.service.Multiply" />
</component>
<component name="DivideComponent">
<implementation.java class="com.jnshu.service.Divide" />
</component>
</composite>
---------------------------------------------------------------------------------------------------------------------
package com.jnshu.client;
import org.apache.tuscany.sca.host.embedded.SCADomain;
import java.io.IOException;
/**
* Created by Tom on 2017/5/29.
*/
public class CalculatorRMIServer {
public static void main(String[] args) throws IOException {
System.out.println("将SCA组件作为RMI接口供外界访问.......");
SCADomain domain = SCADomain.newInstance("Calculator.composite");
System.out.println("回车键推车.......");
System.in.read();
domain.close();
System.out.println("退出.......");
System.exit(0);
}
}
-------------------------------------------------------------------------------------------------------------------------
package com.jnshu.client;
import com.jnshu.service.ICalculator;
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
/**
* Created by Tom on 2017/5/29.
*/
public class CalculatorRMIClient {
public static void main(String[] args) throws MalformedURLException, RemoteException, NotBoundException {
ICalculator c= (ICalculator) Naming.lookup("//localhost:8099/CalculatorRMIService");
System.out.println("3 + 2 = "+c.add(3, 2));
System.out.println("3 - 2 = "+c.subtract(3, 2));
System.out.println("3 * 2 = "+c.multiply(3, 2));
System.out.println("3 / 2 = "+c.divide(3, 2));
}
}
运行结果
其他类文件不变,jar包需要去网上下载 1.6.2的
明天计划的事:准备小课堂的分享
遇到的问题:感觉Tuscany每个例子的配置都不一样啊,
收获:无
总结:今天有点划水。(另外发现自己对小课堂还是没有适应下来,要做小课堂了至少两天静不下心来敲代码,效率特别低)
评论