Jdk5
New Version
RMI
Programming Guide
PrefaceSome time ago, I needed to provide remote access interfaces for one of my Java programs for other Java programs. Java programs can use many remote access technologies to achieve this requirement. Since my remote client is a Java program, I decided to use remote access technology like RMI. RMI is the fastest Remote Ac
1. RPC does not support objects and uses the HTTP protocol.
2. Rmi supports object transmission. TCP/IP protocol
3. Rmi is only applicable to Java and RPC.
Comparison between RPC and RMI
The main difference between RMI and RPC lies in how methods are not called. In RMI,
Due to product security requirements, you need to bind the RMI service port of the old Code to 127.0.0.1. The solution is to set rmisocketfactory when exporting services through spring. When verifying the code, it is found that the self-implemented rmisocketfactory may cause system resource leakage when there are a large number of RMI requests, and thus the local
that is clearly not elegant.
before you go into the RMI principle, take a look at the classes and their hierarchies and the main methods used.
Don't know where to look at any time to look at the structure ... Here we go
the bottom principle of the four or one step anatomy rmiService-side start Registry Service
Registry registry=locateregistry.createregistry (1099);Starting with the code above, it goes back and finds that the server has created
to RMI directly get the signature of the remote method, the way to make the call, RPC uses the C/S method, sends the request to the server, waits for the server to return the result.In order to wrap the RPC request information, the XML-RPC is introduced, and the client sends a specific message that must include the name, the program that runs the service, and the input parameters.XML-RPC can only use a limited number of data types and some simple dat
this backward compatibility, change the version number. The value of this field is typically a hash value computed by synthesizing the various attributes of the Java class, which can be generated using the Serialver command provided by Java. In Eclipse, if the Java class implements the Serializable interface, Eclipse prompts and helps you generate the Serialversionuid.In the course of class version updates, some operations can break backward compatibility. If you want to maintain this backward
that helps us to access remote methods to help, and it is also an end user.Stub (stub) and skeleton (skeleton)Stubs and skeleton are generated through the rmic command, our program to be remote call, the underlying must be a socket byte transmission, transfer to the server or client peer, and then deserialize the object into the corresponding object, these network transmission process requires security, stability and so very troublesome operation , t
RMI Concept
Remote Method Invocation (RMI) remote method call is a communication mechanism in which computers use remote object calls to communicate with each other. Using this mechanism, objects on a computer can call objects on another computer to obtain remote data. RMI is the pillar of Enterprise JavaBeans and is used to build distributed Java applications.
Definition of RMIRPC (remote Procedure Call): A remoting method invocation that provides the ability to distribute a process by invoking a process in another process.RMI (invocation): Remote method Invocation, which is a step forward on the basis of RPC, provides communication between distributed objects. Allows an object running on one Java virtual machine to invoke a method that runs on another Java Virtual machine object. The two virtual machines can be in different processes running on the s
select "new", and set your own name, such as server or client, then the server parameters are:-djava. RMI. server. codebase = file :( $ projectdir) \ Classes \-djava. security. policy = file :( $ projectdir) \ simplermi. policy, and select the main class you want to run, that is, the class containing main. Client parameters:-djava. security. policy = file :( $ p
Chapter 2
The interfaces and classes in this chapter are used for the distributed garbage collector (DGC) of RMI ).
Subject:Interface DGCLease classObjid classUID classVmid class9.1 interface DGCDGC abstraction for distributed garbage collectionAlgorithm. This interface contains two methods: dirty andClean. When Remote Reference is performed on the client (represented by vmid), dirty is called.. When the client no longer has a reference to remote
Definition of RMIRPC (remote Procedure Call): A remoting method invocation that provides the ability to distribute a process by invoking a process in another process.RMI (invocation): Remote method Invocation, which is a step forward on the basis of RPC, provides communication between distributed objects. Allows an object running on one Java virtual machine to invoke a method that runs on another Java Virtual machine object. The two virtual machines can be in different processes running on the s
, so I decided to make a facelift, this time I choose
JCreator, this is a good Java programming tool, find a way not so laborious, save me a lot of time, build up the whole game system frame, I am ready to open
Start "hands-on" to achieve the function, so the first step will encounter their own design application-level protocol, which is a headache, command design let the head big, but also to consider the net
Collateral data security issues, how to p
RMI specification (6)
Registration ServiceProgramInterface-------------------------------------------------------------------------------Chapter 2
The RMI system uses the java. RMI. Registry. registry interface and Java. RMI. Registry. locatThe eregistry class provides a well-known self-lifting service for retrie
Use the Java RMI Server command to execute the vulnerability to obtain the target host root privilege.The RMI registry for Java RMI server and the default configuration of the RMI activation Service have security vulnerabilities that can be exploited to cause code execution.
needing attention
(a) When a parent class is serialized, the subclass is automatically serialized, and the serializable interface is not required to be explicitly implemented;
b When an object's instance variable refers to another object, serialization of the object also serializes the referenced object;
c) Not all objects can be serialized, as for why not, there are many reasons, such as:
1. Security reasons, such as an object with a field such as
http, RMI, socket, RPC, hessian comparison
Socket can be used to specify protocol tcp,udp and so on;
RIM: Using the JRMP protocol, JRMP is also based on TCP/IP;
RPC: The bottom layer uses the socket interface, defines a set of remote call methods;
HTTP: is based on TCP, not using the socket interface, the need for the connection to send data to the server, the server can not actively send data client;
You can use the socket to implement HTTP;
In fact
A summary of RMI technology
I. Overview
Mainly includes 5 documents: Irmi (interface), Rmiimp, Rmiserver, Rmiclient, rmiimp_stub
Execute at the and CN Unified Directory level: Rmic CN.CNIC.OSG.RMIIMP
II. Security Mechanisms
Http://unmi.cc/think-in-java-rmi-exception
There is a sample RMI code perfecttime in the thi
I. Summary This article compares the transmission performance of five communication protocols, including RMI, Hessian, burlap, httpinvoker, and Web Service, in different data structures and data volumes. RMI is a remote communication protocol provided by the Java language. It is stable and efficient and is the basis of EJB. But it can only be used in Java
Program Communication. Hessian and burlap are open
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.