{"id":539,"date":"2012-11-11T19:34:34","date_gmt":"2012-11-11T19:34:34","guid":{"rendered":"http:\/\/ilias-laptop\/examples\/core-java\/rmi\/export-object-over-rmi-example\/"},"modified":"2013-04-29T00:04:23","modified_gmt":"2013-04-28T21:04:23","slug":"export-object-over-rmi-example","status":"publish","type":"post","link":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/","title":{"rendered":"Export Object over RMI example"},"content":{"rendered":"<p>This is an example of how to Export Object over RMI. The Java Remote Method Invocation (RMI) system allows an object running in one Java virtual machine to invoke methods on an object running in another Java virtual machine. In this example, we have created a Class, the <code>CalculatorServiceImpl<\/code>, that will be used as the Object to be exported over RMI. It consists of two methods, the <code>add(int num1, int num2) <\/code>method and the <code>div(double num1, double num2)<\/code> method. Exporting the <code>CalculatorService<\/code> over RMI implies that you should: <\/p>\n<ul>\n<li>Define a remote object interface, the <code>CalculatorService<\/code> that must extend the <a href=\"http:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/rmi\/Remote.html\" target=\"_blank\">Remote Interface<\/a>.<\/li>\n<li>Define the remote object implementation, the <code>CalculatorServiceImpl<\/code> that must extend the <a href=\"http:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/rmi\/server\/UnicastRemoteObject.html\" target=\"_blank\">UnicastRemoteObject<\/a> Class.<\/li>\n<li>Compile the <code>CalculatorServiceImpl<\/code> and generate skeletons and stubs.<\/li>\n<li>Start up the RMI registry so as to create and export remote objects.<\/li>\n<li>Export the remote object. Create a new <code>CalculatorService<\/code> instance and bind it to the RMI registry, using the <a href=\"http:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/rmi\/Naming.html\" target=\"_blank\">java.rmi.Naming<\/a> Class and specifically the <code>rebind(String name, Remote obj)<\/code> API method. The <code>CalculatorService<\/code> object is now associated with a specified name and it can be looked up by it, as demonstrated to the <code>ExportObjectToRMI<\/code> Class.<\/li>\n<li>Then look up the remote object, with the <code>lookup(String name)<\/code> API method and invoke one of its exposed methods.<\/li>\n<\/ul>\n<p>Note that in the example, the <code>CalculatorServiceImpl<\/code> implements two methods that must throw <a href=\"http:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/rmi\/RemoteException.html\" target=\"_blank\">RemoteException<\/a>. Any other exception must be wrapped by the RemoteException.<br \/>\nLet\u2019s take a look at the code snippets that follow:<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p>Define the remote interface<\/p>\n<pre class=\"brush: java\">package com.javacodegeeks.snippets.core;\r\n \r\nimport java.rmi.*;\r\n\r\n\/\/ Method attributes and return types can be primitives or Objects implementing the Serializable interface\r\npublic interface CalculatorService extends Remote {\r\n  int add(int num1, int num2) throws RemoteException;\r\n  double div(double num1, double num2) throws RemoteException;\r\n}\r\n<\/pre>\n<p>Define the remote object implementation<\/p>\n<pre class=\"brush: java\">package com.javacodegeeks.snippets.core;\r\n \r\nimport java.rmi.*;\r\nimport java.rmi.server.UnicastRemoteObject;\r\n\r\npublic class CalculatorServiceImpl extends UnicastRemoteObject implements CalculatorService {\r\n\r\n    public CalculatorServiceImpl() throws RemoteException {\r\n\r\nsuper();\r\n    }\r\n\r\n    \/\/ All remote methods must throw RemoteException\r\n    public int add(int num1, int num2) throws RemoteException {\r\n\r\nreturn (num1 + num2);\r\n    }\r\n\r\n    public double div(double num1, double num2) throws RemoteException {\r\n\r\nif (num2 == 0) {\r\n    \t\/\/ The actual exception must be wrapped in a RemoteException\r\n   \r\n\r\n  throw new RemoteException(\"Divided by zero!\", new IllegalArgumentException(\"Divided by zero!\"));\r\n\r\n}\r\n\r\nreturn (num1 \/ num2);\r\n    }\r\n}\r\n<\/pre>\n<p>Compile the remote object implementation and generate skeletons and stubs<\/p>\n<pre class=\"brush: bash\">&gt; javac CalculatorService.java CalculatorServiceImpl.java\r\n&gt; rmic CalculatorServiceImpl\r\n<\/pre>\n<p>Start up the RMI registry that allows us to create and export remote objects<\/p>\n<pre class=\"brush: bash\">&gt; rmiregistry<\/pre>\n<p>Export remote object, look it up and invoke its methods<\/p>\n<pre class=\"brush: java\">package com.javacodegeeks.snippets.core;\r\n \r\nimport java.net.MalformedURLException;\r\nimport java.rmi.Naming;\r\nimport java.rmi.NotBoundException;\r\nimport java.rmi.RemoteException;\r\nimport java.rmi.UnknownHostException;\r\n\r\npublic class ExportObjectToRMI {\r\n\r\n  public static void main(String[] args) {\r\n    \/\/ Create an instance of the remote object and bind it to the RMI registry\r\n    try {\r\n\r\nCalculatorService calculatorService = new CalculatorServiceImpl();\r\n\r\nNaming.rebind(\"\/\/localhost\/CalculatorService\", calculatorService);\r\n    } catch (MalformedURLException e) {\r\n    } catch (UnknownHostException e) {\r\n    } catch (RemoteException e) {\r\n    }\r\n\r\n    \/\/ Look up the remote object and invoke the exposed methods\r\n    try {\r\n\r\nCalculatorService calculatorService = (CalculatorService) Naming.lookup(\"\/\/localhost\/CalculatorService\");\r\n\r\ndouble result = calculatorService.div(10, 5);\r\n\r\nSystem.out.println(\"Division 10\/5 result : \" + result);\r\n    } catch (MalformedURLException e) {\r\n    } catch (UnknownHostException e) {\r\n    } catch (NotBoundException e) {\r\n    } catch (RemoteException e) {\r\n\r\n\/\/ Get the actual exception that was thrown.\r\n\r\nThrowable realException = e.detail;\r\n    }\r\n  }\r\n}\r\n<\/pre>\n<p>\n<b>Output:<\/b><\/p>\n<pre style=\"background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;\">\r\n<code style=\"color: black; word-wrap: normal;\">Division 10\/5 result : 2.0<\/code>\r\n<\/pre>\n<p>&nbsp;<br \/>\nThis was an example of how to export an Object over an RMI in Java.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is an example of how to Export Object over RMI. The Java Remote Method Invocation (RMI) system allows an object running in one Java virtual machine to invoke methods on an object running in another Java virtual machine. In this example, we have created a Class, the CalculatorServiceImpl, that will be used as the &hellip;<\/p>\n","protected":false},"author":6,"featured_media":1204,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[44],"tags":[189,1049],"class_list":["post-539","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-rmi","tag-core-java-2","tag-rmi"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Export Object over RMI example - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"This is an example of how to Export Object over RMI. The Java Remote Method Invocation (RMI) system allows an object running in one Java virtual machine\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Export Object over RMI example - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"This is an example of how to Export Object over RMI. The Java Remote Method Invocation (RMI) system allows an object running in one Java virtual machine\" \/>\n<meta property=\"og:url\" content=\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/\" \/>\n<meta property=\"og:site_name\" content=\"Examples Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2012-11-11T19:34:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2013-04-28T21:04:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Byron Kiourtzoglou\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Byron Kiourtzoglou\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/\"},\"author\":{\"name\":\"Byron Kiourtzoglou\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/3b111ec1048740c68c9e709ff6240015\"},\"headline\":\"Export Object over RMI example\",\"datePublished\":\"2012-11-11T19:34:34+00:00\",\"dateModified\":\"2013-04-28T21:04:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/\"},\"wordCount\":285,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"keywords\":[\"core java\",\"rmi\"],\"articleSection\":[\"rmi\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/\",\"name\":\"Export Object over RMI example - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"datePublished\":\"2012-11-11T19:34:34+00:00\",\"dateModified\":\"2013-04-28T21:04:23+00:00\",\"description\":\"This is an example of how to Export Object over RMI. The Java Remote Method Invocation (RMI) system allows an object running in one Java virtual machine\",\"breadcrumb\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/#primaryimage\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"width\":150,\"height\":150,\"caption\":\"Bipartite Graph\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/examples.javacodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Development\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Core Java\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"rmi\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/rmi\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Export Object over RMI example\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Examples and Code Snippets\",\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/javacodegeeks\",\"https:\/\/x.com\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/3b111ec1048740c68c9e709ff6240015\",\"name\":\"Byron Kiourtzoglou\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/10\/Byron-Kiourtzoglou-96x96.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/10\/Byron-Kiourtzoglou-96x96.jpg\",\"caption\":\"Byron Kiourtzoglou\"},\"description\":\"Byron is a master software engineer working in the IT and Telecom domains. He is an applications developer in a wide variety of applications\/services. He is currently acting as the team leader and technical architect for a proprietary service creation and integration platform for both the IT and Telecom industries in addition to a in-house big data real-time analytics solution. He is always fascinated by SOA, middleware services and mobile development. Byron is co-founder and Executive Editor at Java Code Geeks.\",\"sameAs\":[\"https:\/\/www.pivotalgamers.com\/\",\"https:\/\/www.linkedin.com\/in\/byron-kiourtzoglou-530ab222\"],\"url\":\"https:\/\/examples.javacodegeeks.com\/author\/byron-kiourtzoglou\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Export Object over RMI example - Java Code Geeks","description":"This is an example of how to Export Object over RMI. The Java Remote Method Invocation (RMI) system allows an object running in one Java virtual machine","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/","og_locale":"en_US","og_type":"article","og_title":"Export Object over RMI example - Java Code Geeks","og_description":"This is an example of how to Export Object over RMI. The Java Remote Method Invocation (RMI) system allows an object running in one Java virtual machine","og_url":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/","og_site_name":"Examples Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2012-11-11T19:34:34+00:00","article_modified_time":"2013-04-28T21:04:23+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","type":"image\/jpeg"}],"author":"Byron Kiourtzoglou","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Byron Kiourtzoglou","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/#article","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/"},"author":{"name":"Byron Kiourtzoglou","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/3b111ec1048740c68c9e709ff6240015"},"headline":"Export Object over RMI example","datePublished":"2012-11-11T19:34:34+00:00","dateModified":"2013-04-28T21:04:23+00:00","mainEntityOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/"},"wordCount":285,"commentCount":0,"publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","keywords":["core java","rmi"],"articleSection":["rmi"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/","url":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/","name":"Export Object over RMI example - Java Code Geeks","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/#primaryimage"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","datePublished":"2012-11-11T19:34:34+00:00","dateModified":"2013-04-28T21:04:23+00:00","description":"This is an example of how to Export Object over RMI. The Java Remote Method Invocation (RMI) system allows an object running in one Java virtual machine","breadcrumb":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/#primaryimage","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","width":150,"height":150,"caption":"Bipartite Graph"},{"@type":"BreadcrumbList","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/rmi\/export-object-over-rmi-example\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/examples.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java Development","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/"},{"@type":"ListItem","position":3,"name":"Core Java","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/"},{"@type":"ListItem","position":4,"name":"rmi","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/rmi\/"},{"@type":"ListItem","position":5,"name":"Export Object over RMI example"}]},{"@type":"WebSite","@id":"https:\/\/examples.javacodegeeks.com\/#website","url":"https:\/\/examples.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Examples and Code Snippets","publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/examples.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/examples.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/3b111ec1048740c68c9e709ff6240015","name":"Byron Kiourtzoglou","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/10\/Byron-Kiourtzoglou-96x96.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/10\/Byron-Kiourtzoglou-96x96.jpg","caption":"Byron Kiourtzoglou"},"description":"Byron is a master software engineer working in the IT and Telecom domains. He is an applications developer in a wide variety of applications\/services. He is currently acting as the team leader and technical architect for a proprietary service creation and integration platform for both the IT and Telecom industries in addition to a in-house big data real-time analytics solution. He is always fascinated by SOA, middleware services and mobile development. Byron is co-founder and Executive Editor at Java Code Geeks.","sameAs":["https:\/\/www.pivotalgamers.com\/","https:\/\/www.linkedin.com\/in\/byron-kiourtzoglou-530ab222"],"url":"https:\/\/examples.javacodegeeks.com\/author\/byron-kiourtzoglou\/"}]}},"_links":{"self":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=539"}],"version-history":[{"count":0,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/539\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media\/1204"}],"wp:attachment":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}