隨筆-109  評論-187  文章-25  trackbacks-0

          1

          Package

          net.loocky.rmi.spring

          |-------BusinessService.java

          |-------Service.java

          |-------ServiceClient.java

          |-------ServiceImpl.java

          |-------ServiceServer.java

          |-------rmi-config.xml

          ?

          (1)??? Service.java? is interface

          package net.loocky.rmi.spring;

          ?

          import java.rmi.Remote;

          import java.rmi.RemoteException;

          ?

          ?

          public interface Service? extends Remote{

          ?

          ?????? public String getName()throws RemoteException ;

          ?

          ?????? public void setName(String name)throws RemoteException ;

          ?

          }

          (2)??? BusinessService.java is business interface too ,not extends remote

          package net.loocky.rmi.spring;

          public interface BusinessService {

          ?????? public String getName() ;

          ?

          ?????? public void setName(String name);

          }

          (3)??? ServiceImpl

          package net.loocky.rmi.spring;

          ?

          public class ServiceImpl implements Service, BusinessService {

          ?????? private String name = "111";

          ?

          ?????? public String getName() {

          ????????????? System.out.println(name);

          ????????????? return name;

          ?????? }

          ?

          ?????? public void setName(String name) {

          ????????????? this.name = name;

          ?

          ?????? }

          ?

          }

          (4)??? ServiceServer

          package net.loocky.rmi.spring;

          ?

          import org.springframework.context.ApplicationContext;

          import org.springframework.context.support.ClassPathXmlApplicationContext;

          ?

          public class ServiceServer {

          ?????? public static void main(String[] args) throws Exception {

          ????????????? //load the config file ,and spring will deploy the service automatically

          ????????????? ApplicationContext ctx = new ClassPathXmlApplicationContext(

          ??????????????????????????? "rmi-config.xml");

          ?????? }

          }

          (5)??? ServiceClient

          package net.loocky.rmi.spring;

          ?

          import org.springframework.context.ApplicationContext;

          import org.springframework.context.support.ClassPathXmlApplicationContext;

          ?

          public class ServiceClient {

          ?????? public static void main(String[] args) throws Exception {

          ????????????? // HessianProxyFactory proxyFactory = new HessianProxyFactory();

          ????????????? ApplicationContext ctx = new ClassPathXmlApplicationContext(

          ??????????????????????????? "rmi-config.xml");

          ????????????? BusinessService service = (BusinessService) ctx

          ??????????????????????????? .getBean("myServiceClient");

          ?????? // 下面的方式是不可行的,因為 SPRING 的, CGLIB enhance 了對象

          // BusinessService service =

          ????????????? // (BusinessService)Naming.lookup("rmi://localhost:1099/aaaa");

          ????????????? // service.setName("sssssssssssssss");

          ????????????? System.out.println(service.getName());

          ?????? }

          ?

          }

          (6)??? rmi-config.xml

          <? xml version = "1.0" encoding = "UTF-8" ?>

          <! DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"

          ??? "http://www.springframework.org/dtd/spring-beans.dtd" >

          ??? < beans >

          ??? < bean id = "myService" class = "net.loocky.rmi.spring.ServiceImpl" />

          ??? < bean id = "serviceExporter" class = "org.springframework.remoting.rmi.RmiServiceExporter" >

          ??????? < property name = "serviceName" >

          ??????????? < value > aaaa </ value >

          ??????? </ property >

          ??????? < property name = "service" >

          ??????? ???? < ref bean = "myService" />

          ??????? </ property >

          ??????? < property name = "serviceInterface" >

          ??????????? < value > net.loocky.rmi.spring.BusinessService </ value >

          ??????? </ property >

          ??????? < property name = "registryPort" >

          ??????????? < value > 1099 </ value >

          ??????? </ property >

          ??? </ bean >

          ??? < bean id = "myServiceClient" class = "org.springframework.remoting.rmi.RmiProxyFactoryBean" >

          ?????? < property name = "serviceUrl" >

          ?????????? < value > rmi://127.0.0.1:1099/aaaa </ value >

          ?????? </ property >

          ?????? < property name = "serviceInterface" >

          ?????????? < value > net.loocky.rmi.spring.BusinessService </ value >

          ?????? </ property >

          ?

          ??? </ bean >

          </ beans >

          ?

          ?

          posted on 2006-05-29 14:45 小小程序程序員混口飯吃 閱讀(696) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 昭通市| 平谷区| 清远市| 罗田县| 彰武县| 蓬莱市| 岫岩| 磐安县| 共和县| 修武县| 田林县| 工布江达县| 禄劝| 北宁市| 昌江| 民乐县| 安岳县| 桂林市| 桓台县| 西城区| 达州市| 崇仁县| 宝山区| 余庆县| 永新县| 喀什市| 小金县| 彰化市| 高淳县| 阳朔县| 西和县| 财经| 景德镇市| 泸水县| 如东县| 徐闻县| 石渠县| 砚山县| 鹤庆县| 怀远县| 盐亭县|