Examine individual changes
This page allows you to examine the variables generated by the Edit Filter for an individual change.
Variables generated for this change
Variable | Value |
---|---|
Edit count of the user (user_editcount ) | null |
Name of the user account (user_name ) | '151.42.172.170' |
Age of the user account (user_age ) | 0 |
Groups (including implicit) the user is in (user_groups ) | [
0 => '*'
] |
Rights that the user has (user_rights ) | [
0 => 'createaccount',
1 => 'read',
2 => 'edit',
3 => 'createtalk',
4 => 'writeapi',
5 => 'viewmywatchlist',
6 => 'editmywatchlist',
7 => 'viewmyprivateinfo',
8 => 'editmyprivateinfo',
9 => 'editmyoptions',
10 => 'abusefilter-log-detail',
11 => 'centralauth-merge',
12 => 'abusefilter-view',
13 => 'abusefilter-log',
14 => 'vipsscaler-test'
] |
Whether the user is editing from mobile app (user_app ) | false |
Whether or not a user is editing through the mobile interface (user_mobile ) | true |
Page ID (page_id ) | 43284 |
Page namespace (page_namespace ) | 0 |
Page title without namespace (page_title ) | 'Java remote method invocation' |
Full page title (page_prefixedtitle ) | 'Java remote method invocation' |
Edit protection level of the page (page_restrictions_edit ) | [] |
Last ten users to contribute to the page (page_recent_contributors ) | [
0 => '151.42.172.170',
1 => 'Monkbot',
2 => 'Daniel.Cardenas',
3 => 'Citation bot',
4 => 'HaeB',
5 => '2600:100A:B028:F92E:1DEB:D644:6278:AD26',
6 => 'Uzume',
7 => 'DannyS712 bot',
8 => 'Esmond.pitt',
9 => 'Frap'
] |
Page age in seconds (page_age ) | 611296161 |
Action (action ) | 'edit' |
Edit summary/reason (summary ) | '' |
Old content model (old_content_model ) | 'wikitext' |
New content model (new_content_model ) | 'wikitext' |
Old page wikitext, before the edit (old_wikitext ) | '[[File:RMI-Stubs-Skeletons.svg|thumb|right|400px|A typical implementation model of Java-RMI using [[Class stub|stub]] and [[Distributed object communication#Skeleton|skeleton]] objects. Java 2 SDK, Standard Edition, v1.2 removed the need for a skeleton.]]
In [[computing]], the '''Java Remote Method Invocation''' ('''Java RMI''') is a [[Java (programming language)|Java]] [[Application programming interface|API]] that performs [[remote method invocation]], the object-oriented equivalent of [[remote procedure call]]s (RPC), with support for direct transfer of [[Serialization#Java|serialized]] Java classes and [[Distributed Garbage Collection|distributed garbage-collection]].
The original implementation depends on [[Java Virtual Machine]] (JVM) class-representation mechanisms and it thus only supports making calls from one JVM to another. The protocol underlying this Java-only implementation is known as Java Remote Method Protocol (JRMP). In order to support code running in a non-JVM context, programmers later developed a [[Common Object Request Broker Architecture|CORBA]] version.
Usage of the term '''RMI''' may denote solely the programming interface or may signify both the API and JRMP, [[IIOP]], or another implementation, whereas the term [[RMI-IIOP]] (read: RMI over [[IIOP]]) specifically denotes the RMI interface delegating most of the functionality to the supporting [[CORBA]] implementation.
The basic idea of Java RMI, the distributed garbage-collection (DGC) protocol, and much of the architecture underlying the original Sun implementation, come from the "network objects" feature of [[Modula-3]].
==Generalized code==
The programmers of the original RMI API generalized the code somewhat to support different implementations, such as a [[Hypertext Transfer Protocol|HTTP]] transport. Additionally, the ability to pass arguments "[[Call by value|by value]]" was added to CORBA in order to be compatible with the RMI interface. Still, the RMI-IIOP and JRMP implementations do not have fully identical interfaces.
RMI functionality comes in the package {{Javadoc:SE|package=java.rmi|java/rmi}}, while most of Sun's implementation is located in the <code>sun.rmi</code> package. Note that with Java versions before Java 5.0 developers had to compile RMI stubs in a separate compilation step using <code>'''rmic'''</code>. Version 5.0 of Java and beyond no longer require this step.
==References==
{{reflist}}
==External links==
*{{cite web |title=Remote Method Invocation Home |url=http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html |website= Oracle Technology Network for Java Developers |publisher=[[Oracle Corporation]] |___location=Redwood Shores, CA, USA |access-date=2014-07-14}}
* [http://download.oracle.com/javase/tutorial/rmi/index.html The Java RMI tutorial] - a good starting point to learn RMI. Also check the [http://java.sun.com/j2se/1.5.0/docs/guide/rmi/hello/hello-world.html Hello World in RMI]
* [http://java.sun.com/developer/onlineTraining/rmi/RMI.html the Java RMI online training] - Very good for training JavaRMI and as reference
* [http://docs.oracle.com/javase/7/docs/technotes/guides/rmi/index.html The RMI page in the JDK docs]
* {{Javadoc:SE|package=java.rmi|java/rmi}} (Sun's Java API Reference for the RMI package)
* {{cite document | author1= Ann Wollrath | author2= Roger Riggs | author3 = Jim Waldo |author3-link=Jim Waldo
| title= A Distributed Object Model for the Java System
| url=http://pdos.csail.mit.edu/6.824/papers/waldo-rmi.pdf | access-date= 2009-02-11}}
* [http://docs.oracle.com/cd/E12840_01/wls/docs103/rmi/rmi_intro.html Programming WebLogic RMI] - an introduction to RMI in Oracle Weblogic.
* [http://notes.corewebprogramming.com/student/RMI.pdf General Remote Method Invocation]
[[Category:Java platform|RMI]]
[[Category:Remote procedure call]]
[[Category:Articles with example Java code]]' |
New page wikitext, after the edit (new_wikitext ) | '[[File:RMI-Stubs-Skeletons.svg|thumb|right|400px|A typical implementation model of Java-RMI using [[Class stub|stub]] and [[Distributed object communication#Skeleton|skeleton]] objects. Java 2 SDK, Standard Edition, v1.2 removed the need for a skeleton.]]
In [[computing]], the '''Java Remote Method Invocation''' ('''Java RMI''') is a [[Java (programming language)|Java]] [[Application programming interface|API]] that performs [[remote method invocation]], the object-oriented equivalent of [[remote procedure call]]s (RPC), with support for direct transfer of [[Serialization#Java|serialized]] Java classes and [[Distributed Garbage Collection|distributed garbage-collection]].
The original implementation depends on [[Java Virtual Machine]] (JVM) class-representation mechanisms and it thus only supports making calls from one JVM to another. The protocol underlying this Java-only implementation is known as Java Remote Method Protocol (JRMP). In order to support code running in a non-JVM context, programmers later developed a [[Common Object Request Broker Architecture|CORBA]] version.
Usage of the term '''RMI''' may denote solely the programming interface or may signify both the API and JRMP, [[IIOP]], or another implementation, whereas the term [[RMI-IIOP]] (read: RMI over [[IIOP]]) specifically denotes the RMI interface delegating most of the functionality to the supporting [[CORBA]] implementation.
The basic idea of Java RMI, the distributed garbage-collection (DGC) protocol, and much of the architecture underlying the original Sun implementation, come from the "network objects" feature of [[Modula-3]].
==Generalized code==
The programmers of the original RMI API generalized the code somewhat to support different implementations, such as a [[Hypertext Transfer Protocol|HTTP]] transport. Additionally, the ability to pass arguments "[[Call by value|by value]]" was added to CORBA in order to be compatible with the RMI interface. Still, the RMI-IIOP and JRMP implementations do not have fully identical interfaces.
RMI functionality comes in the package {{Javadoc:SE|package=java.rmi|java/rmi}}, while most of Sun's implementation is located in the <code>sun.rmi</code> package. Note that with Java versions before Java 5.0 developers had to compile RMI stubs in a separate compilation step using <code>'''rmic'''</code>. Version 5.0 of Java and beyond no longer require this step.
==External links==
*{{cite web |title=Remote Method Invocation Home |url=http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html |website= Oracle Technology Network for Java Developers |publisher=[[Oracle Corporation]] |___location=Redwood Shores, CA, USA |access-date=2014-07-14}}
* [http://download.oracle.com/javase/tutorial/rmi/index.html The Java RMI tutorial] - a good starting point to learn RMI. Also check the [http://java.sun.com/j2se/1.5.0/docs/guide/rmi/hello/hello-world.html Hello World in RMI]
* [http://java.sun.com/developer/onlineTraining/rmi/RMI.html the Java RMI online training] - Very good for training JavaRMI and as reference
* [http://docs.oracle.com/javase/7/docs/technotes/guides/rmi/index.html The RMI page in the JDK docs]
* {{Javadoc:SE|package=java.rmi|java/rmi}} (Sun's Java API Reference for the RMI package)
* {{cite document | author1= Ann Wollrath | author2= Roger Riggs | author3 = Jim Waldo |author3-link=Jim Waldo
| title= A Distributed Object Model for the Java System
| url=http://pdos.csail.mit.edu/6.824/papers/waldo-rmi.pdf | access-date= 2009-02-11}}
* [http://docs.oracle.com/cd/E12840_01/wls/docs103/rmi/rmi_intro.html Programming WebLogic RMI] - an introduction to RMI in Oracle Weblogic.
* [http://notes.corewebprogramming.com/student/RMI.pdf General Remote Method Invocation]
[[Category:Java platform|RMI]]
[[Category:Remote procedure call]]
[[Category:Articles with example Java code]]' |
Unified diff of changes made by edit (edit_diff ) | '@@ -13,7 +13,4 @@
RMI functionality comes in the package {{Javadoc:SE|package=java.rmi|java/rmi}}, while most of Sun's implementation is located in the <code>sun.rmi</code> package. Note that with Java versions before Java 5.0 developers had to compile RMI stubs in a separate compilation step using <code>'''rmic'''</code>. Version 5.0 of Java and beyond no longer require this step.
-
-==References==
-{{reflist}}
==External links==
' |
New page size (new_size ) | 3871 |
Old page size (old_size ) | 3899 |
Size change in edit (edit_delta ) | -28 |
Lines added in edit (added_lines ) | [] |
Lines removed in edit (removed_lines ) | [
0 => '',
1 => '==References==',
2 => '{{reflist}}'
] |
External links added in the edit (added_links ) | [] |
External links removed in the edit (removed_links ) | [] |
External links in the page, before the edit (old_links ) | [
0 => 'http://docs.oracle.com/cd/E12840_01/wls/docs103/rmi/rmi_intro.html',
1 => 'http://docs.oracle.com/javase/7/docs/technotes/guides/rmi/index.html',
2 => 'http://download.oracle.com/javase/tutorial/rmi/index.html',
3 => 'http://java.sun.com/developer/onlineTraining/rmi/RMI.html',
4 => 'http://java.sun.com/j2se/1.5.0/docs/guide/rmi/hello/hello-world.html',
5 => 'http://notes.corewebprogramming.com/student/RMI.pdf',
6 => 'http://pdos.csail.mit.edu/6.824/papers/waldo-rmi.pdf',
7 => 'http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html',
8 => 'https://docs.oracle.com/javase/10/docs/api/java/rmi/package-summary.html'
] |
Whether or not the change was made through a Tor exit node (tor_exit_node ) | false |
Unix timestamp of change (timestamp ) | 1626814614 |
External links in the new text (new_links ) | [
0 => 'https://docs.oracle.com/javase/10/docs/api/java/rmi/package-summary.html',
1 => 'http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html',
2 => 'http://download.oracle.com/javase/tutorial/rmi/index.html',
3 => 'http://java.sun.com/j2se/1.5.0/docs/guide/rmi/hello/hello-world.html',
4 => 'http://java.sun.com/developer/onlineTraining/rmi/RMI.html',
5 => 'http://docs.oracle.com/javase/7/docs/technotes/guides/rmi/index.html',
6 => 'http://pdos.csail.mit.edu/6.824/papers/waldo-rmi.pdf',
7 => 'http://docs.oracle.com/cd/E12840_01/wls/docs103/rmi/rmi_intro.html',
8 => 'http://notes.corewebprogramming.com/student/RMI.pdf'
] |