- 浏览: 864064 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (280)
- java相关 (29)
- linux系统 (55)
- ipsec (0)
- ssl (3)
- 信息安全 (13)
- web相关 (35)
- windows (9)
- c,c++ (14)
- log4j (3)
- hibernate (8)
- sqlite (1)
- 程序人生 (2)
- js (2)
- 生活点滴 (3)
- 网络相关 (14)
- 问题积累 (15)
- 数据库相关 (27)
- 软件测试 (2)
- PKI相关 (2)
- 程序设计 (7)
- 犄角旮旯 (0)
- 杂七杂八 (0)
- 硬件相关 (14)
- 防火墙 (2)
- 电子商务 (2)
- 多媒体相关 (1)
- 内存管理 (4)
- 面向对象 (1)
- csp (1)
- 驱动开发 (3)
- 移动开发 (2)
- openssl多线程实例 (1)
最新评论
-
xiaoyao3857:
博主很有探索精神嘛,学习了
Linux主机名Hostname详解 -
hiskyrisa:
言简意赅,好文章。
Flex是什么 -
layznet:
犯了类似错误。使用的是derby数据库。driverClass ...
java.sql.SQLException: No suitable driver -
idision:
你好,文章有一句createSubjectKeyId(keyT ...
bouncycastle 产生证书 -
zheng12tian:
代码有全的不?只贴一部分,,,,
在LOG4J中把日志写入远程数据库
参考别人的程序后写了个自己的RMI
程序
RMI
,远程方法调用(Remote Method
Invocation)是Enterprise
JavaBeans的支柱,是建立分布式Java应用程序的方便途径。RMI
是非
常容易使用的,但是它非常的强大。
RMI
的基础是接口,RMI
构
架基于一个重要的原理:定义接口和定义接口的具体实现是分开的。
java 代码
- package org.itrun.remote;
- import java.rmi .Remote;
- import java.rmi .RemoteException;
- /**
- * 远程接口
- * @author jiangzhen
- *
- */
- public interface TestInterfactRemote extends Remote{
- public String add(String a,String b) throws RemoteException;
- public String add() throws RemoteException;
- }
- package org.itrun.remote;
- import java.rmi .RemoteException;
- import java.rmi .server.UnicastRemoteObject;
- /**
- * 接口的实现
- * @author jiangzhen
- *
- */
- public class TestInterfaceRemoteImpl extends UnicastRemoteObject implements
- TestInterfactRemote {
- public TestInterfaceRemoteImpl() throws RemoteException {
- super ();
- }
- public String add(String a, String b) throws RemoteException {
- return a+b;
- }
- public String add() throws RemoteException {
- return "Hello Word" ;
- }
- }
- package org.itrun.server;
- import java.rmi .Naming;
- import org.itrun.remote.TestInterfaceRemoteImpl;
- import org.itrun.remote.TestInterfactRemote;
- /**
- * 服务器端
- * @author jiangzhen
- *
- */
- public class Server{
- public Server() {
- try {
- TestInterfactRemote testInterfactRemote = new TestInterfaceRemoteImpl();
- Naming.rebind("rmi ://10.0.0.123/server" , testInterfactRemote);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public static void main(String args[]) {
- new Server();
- }
- }
- package org.itrun.client;
- import java.rmi .Naming;
- import org.itrun.remote.TestInterfactRemote;
- /**
- * 客户端程序
- * @author jiangzhen
- *
- */
- public class Client {
- public static void main(String args[]) {
- try {
- TestInterfactRemote testInterfactRemote = (TestInterfactRemote) Naming
- .lookup("rmi ://10.0.0.123/server" );
- System.out.println(testInterfactRemote.add("rmi a " , "rmib" ));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
程序完成后
运行RMI
系统
现在我们建立了所有运行这个简单RMI 系统所需的文件,现在我们终于可以运 行这个RMI 系统啦!来享受吧。
我们是在命令控制台下运行这个系统的,你必须开启三个控制台窗口,一个运行服务器,一个运行客户端,还有一个运行RMIRegistry。
首先运行注册程序RMIRegistry,你必须在包含你刚写的类的那么目录下运行这个注册程序。
>rmiregistry(linux) start rmiregistry(windows)
运行程序首先需要修改下RMI 的安全策略策略文件在 JDK 目录下的jre/lib/security/java.policy 的最后面加上下面这句话
grant{
permission java.security.AllPermission "","";
};
这条命令表示允许任何人作任何事情,
修改完后运行命令 rmiregistry ,然后就不用管他了
然后运行 server 端的代码 运行后也不用管他了
java org.itrun.server.
Server
最后运行 client 端代码
java org.itrun.server.Client
运行结果 rmi
a rmib
发表评论
-
关于Bad version number in .class file的问题
2010-11-15 14:20 1000关于Bad version number in .class ... -
一个获取文件crc32校验码的简洁的java类
2010-05-12 19:48 3273从jdk1.4开始,java核心包里已经提供对crc计算的支持 ... -
Windows下Apache与Tomcat的整合
2010-05-12 13:52 1077为了完成这个任务,在 ... -
SSL双向认证java实现
2010-05-09 11:35 1796本文通过模拟场景,介 ... -
java.util.ResourceBundle 使用详解
2010-04-28 19:39 853一、认识国际化资源文件 这个类提供软件国际化的捷 ... -
基于JAAS实现登录
2010-04-25 22:11 1261JAAS:Java Authentication and ... -
什么是JAAS,以及灵活的Java安全机制
2010-04-25 22:05 1888今天在论坛上看到JASS,不清楚是什么呢,网上找了一下,受益良 ... -
Java插件技术
2010-04-25 21:31 21451.Java插件技术 Java插件技术(Java Plu ... -
Java安全通信、数字证书及应用实践(转)
2010-04-21 21:05 1673摘要 : 在本文 ... -
Eclips 内存溢出
2010-04-13 16:26 1041在Eclipse 根目录下找到eclipse .ini ... -
Eclipse 启动不起来异常:JVM terminated. Exit code=-1
2010-04-11 10:09 7458Eclipse 启动不起来,出现以下错误: ... -
Java程序员需要了解的几个开源协议介绍
2009-12-21 21:32 1118介绍几个比较常见的开 ... -
apache lucene介绍
2009-12-15 09:16 1948什么是lucene Apache Lucene是一个开放源程序 ... -
Java基础:Java中堆内存与栈内存分配浅析
2009-08-11 20:19 1347Java 把内存划分成两种:一种是栈内存,另一种是堆内存 ... -
对synchronized(this)的一些理解
2009-07-23 10:21 1174一、当两个并发线程访问同一个对象object中的这个synch ... -
Linux下JNI调用
2009-07-09 12:43 1459整个实现过程可以分为五步来完成: 1)写一个声明了nativ ... -
如何在Java中执行其它程序
2009-07-09 12:42 2305在编写Java程序时,有时 ... -
linux下jdk的安装与卸载
2009-07-06 10:46 2103下面是卸载步骤: 用ro ... -
JNI技术小试
2009-06-23 14:28 1232目前 java 与 dll 交互的技术主要有 ... -
java.util.Date和java.sql.Date的区别及应用
2009-06-21 14:35 1135java.util.Date 就是在除了SQL语句的情况下面使 ...
相关推荐
这个"JAVA RMI简单例子"旨在帮助我们深入理解RMI的基本原理和实现步骤。 RMI的核心概念包括远程接口、远程对象和RMIC编译器。首先,我们需要定义一个远程接口,该接口声明了可以在远程服务器上执行的方法。这些方法...
通过学习和实践这个RMI例子,我们可以深入理解Java的分布式编程能力,这对于开发大型企业级应用或者分布式系统来说是非常有价值的。同时,了解RMI的工作原理也有助于我们更好地掌握其他类似技术,如JDBC、JNDI等。
通过这个完整的Java RMI通信例子,我们可以学习如何在实际项目中利用RMI来构建分布式系统,提升应用的可扩展性和灵活性。同时,理解RMI的工作原理也有助于我们更好地设计和实现其他分布式技术,如EJB、Web服务等。
### Java RMI基础知识与示例解析 #### 一、RMI简介 远程方法调用(Remote Method Invocation,简称RMI)是Java平台提供的一种用于实现分布式应用的技术。它允许对象在不同的JVM之间通过网络相互调用对方的方法,就...
根据提供的文件信息,我们可以深入探讨Java RMI(Java Remote Method Invocation)的相关知识点,包括其概念、原理、体系结构以及一个具体的示例。...这个例子展示了如何利用RMI技术来构建分布式应用程序。
Java Remote Method Invocation(RMI)是Java平台中用于...通过这个简单的例子,你可以了解到如何创建一个基本的RMI应用程序。在实际项目中,RMI可以与其他技术(如EJB、Spring框架)结合,构建更复杂的分布式系统。
这个简单的例子将引导我们了解如何利用Java RMI实现远程调用。 首先,我们要创建远程接口。在Java RMI中,远程接口是一个实现了`java.rmi.Remote`接口的Java接口。接口中声明的方法将在客户端调用,实际上会在...
以下是对"java RMI简单例子"的详细解释: 1. **RMI的基本概念**: - **远程对象**:在RMI中,一个对象如果可以在不同的JVM上执行其方法,那么就被称为远程对象。 - **远程接口**:定义远程对象需要实现的接口,...
Java RMI(Remote Method Invocation)是Java编程语言中用于实现远程过程调用的一种技术。它允许运行在客户机上的程序调用位于远程服务器上的对象的方法,从而实现分布式计算。RMI的核心思想是通过接口隐藏底层网络...
这个"一个简单的RMI例子Java源代码"是为了帮助开发者更好地理解和应用RMI。 RMI的核心概念包括: 1. **远程接口(Remote Interface)**:这是定义远程方法的Java接口。它声明了客户端可以调用的那些方法,这些方法...
Java RMI(Remote Method Invocation,远程方法调用)是Java平台提供的一种用于分布式计算的技术,它允许一个Java对象调用另一个在不同 JVM(Java虚拟机)上的对象的方法。这个简单的示例展示了如何创建一个基本的...
这个"java RMI入门例子"将带你深入理解RMI的工作原理和主要组件。 RMI的核心概念包括: 1. **远程接口**:这是定义远程方法的接口,通常继承自java.rmi.Remote。这些方法声明抛出java.rmi.RemoteException,表示...
Java RMI,全称为Remote Method Invocation,是Java平台上的一个标准API,用于实现分布式计算,使得在不同Java虚拟机(JVM)上的...通过这个简单的例子,你可以理解RMI的工作机制,并为更复杂的分布式系统打下基础。
我的博客《Java中的RMI(远程方法调用)》的示例代码
Java RMI (Remote Method Invocation) 是一种用于在Java应用程序之间进行远程通信的技术。为了提高RMI通信的安全性,我们可以使用SSL (Secure Sockets Layer) 或其后继者TLS (Transport Layer Security) 进行加密。...
这个简单的例子展示了RMI的基本使用方式。实际应用中,可能会涉及到更复杂的网络交互、多线程、安全性控制等话题。理解RMI的工作原理和实践,对于开发分布式Java应用至关重要。同时,由于RMI依赖于Java序列化,因此...
描述中提到的"java rmi例子"表明其中可能包含了一个或多个实际的RMI应用实例,这对于学习和理解RMI的工作原理非常有帮助。 首先,让我们详细了解Java RMI的核心概念和组件: 1. **远程接口(Remote Interface)**...
这个"RMI例子"很可能是为了演示如何在Java应用中利用RMI进行跨JVM的交互。 在RMI中,一个JVM上的对象被称为服务端,它可以提供一些远程方法供其他JVM上的客户端调用。服务端需要将远程对象注册到RMI注册表中,这样...
在这个"java简单RMI会议功能实现"的例子中,我们将探讨如何构建一个基于RMI的分布式会议议程服务,提供会议查询、增加和删除的接口。 首先,让我们了解RMI的基本组件和工作原理: 1. **远程接口(Remote Interface...
Java EDNA RMI示例是将Java编程语言与EDNA数据库、JNative库以及远程方法调用(RMI)技术相结合的应用。这个项目的核心目的是演示如何从EDNA数据库中检索数据,然后通过RMI服务暴露这些数据,以便在不同的网络环境中...