发表于: 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每个例子的配置都不一样啊,

收获:无

总结:今天有点划水。(另外发现自己对小课堂还是没有适应下来,要做小课堂了至少两天静不下心来敲代码,效率特别低)


返回列表 返回列表
评论

    分享到