失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > java rmi配置_Java Spring配置RMI连接

java rmi配置_Java Spring配置RMI连接

时间:2022-02-13 02:33:26

相关推荐

java rmi配置_Java Spring配置RMI连接

1、新建J2EE项目A、B,在A、B项目中建立com.A.xfire包

2、项目A、B中导入spring-2.5.6.jar

3、在A、B项目中使用建立接口类com.A.xfire.XfireFacade.java

package com.A.xfire;

/**

* XfireFacade接口类

*/

public interface XfireFacade {

public void xfireMothod();

}

4、在A项目中建立com.A.xfire.impl.XfireFacadeImpl实现接口类

package com.A.xfire.impl;

import com.A.xfire.XfireFacade;

public class XfireFacadeImpl extends JdbcDaoSupportimplements XfireFacade {

public voidxfireMothod(){

/** 操作数据库 */

}

}

5、项目A中新建applicationContext-xfire.xml

6、在项目A中新建的applicationContext-xfire.xml文件中添加以下内容:

xmlns:xsi="/2001/XMLSchema-instance"

xmlns:aop="/schema/aop"

xmlns:tx="/schema/tx"

xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-2.0.xsd

/schema/aop /schema/aop/spring-aop-2.0.xsd

/schema/tx /schema/tx/spring-tx-2.0.xsd">

7、在B项目中使用建立客户端连接,新建com.A.xfire.BXfireClient.java

package com.A.xfire;

import org.springframework.remoting.rmi.RmiProxyFactoryBean;

import com.A.xfire.XfireFacade;

public class BXfireClient {

private static XfireFacade xfireFacade;

private static String bServiceUrl = "rmi://192.168.1.1:1199";

public static String getBServiceUrl() {

return bServiceUrl;

}

public static void setBServiceUrl(String bServiceUrl) {

BXfireClient.bServiceUrl = bServiceUrl;

}

public static XfireFacade findBXfireFacade() {

if(xfireFacade == null) {

xfireFacade = registerXfireFacade();

}

return xfireFacade;

}

/**

* 查找xfire服务

*/

public static XfireFacade registerXfireFacade() {

RmiProxyFactoryBean rmiProxyFactoryBean = new RmiProxyFactoryBean();

rmiProxyFactoryBean.setServiceInterface(XfireFacade.class);

rmiProxyFactoryBean.setServiceUrl(getBServiceUrl());

rmiProxyFactoryBean.setLookupStubOnStartup(false);

rmiProxyFactoryBean.setRefreshStubOnConnectFailure(true);

try {

rmiProxyFactoryBean.afterPropertiesSet();

} catch (RuntimeException e) {

e.printStackTrace();

}

if(rmiProxyFactoryBean.getObject() instanceof XfireFacade) {

xfireFacade = (XfireFacade) rmiProxyFactoryBean.getObject();

return xfireFacade;

}

return null;

}

}

8、注意如果接口有实体,实体类一定要implements Serializable

private static final long serialVersionUID = 1L;

9、在B项目其它类里调用RMI如下:

BXfireClient.findBXfireFacade().xfireMothod();

如果觉得《java rmi配置_Java Spring配置RMI连接》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。