# RMI Example - Numerical Integration, a more realistic RMI example that sends an evaluatable object (function) from a client to a server for numerical integration. Integral.java Performs actual numerical integration of the function (evaluatable object). /** A class to calculate summations and numeric integrals. The * integral is calculated according to the midpoint rule. * * Taken from Core Web Programming from * Prentice Hall and Sun Microsystems Press, * . * © 2001 Marty Hall and Larry Brown; * may be freely used or adapted. */ public class Integral { /** Returns the sum of f(x) from x=start to x=stop, where the * function f is defined by the evaluate method of the * Evaluatable object. */ public static double sum(double start, double stop, double stepSize, Evaluatable evalObj) { double sum = 0.0, current = start; while (current 0) ? args[0] : "localhost"; RemoteIntegral remoteIntegral = (RemoteIntegral)Naming.lookup("rmi://" + host + "/RemoteIntegral"); for(int steps=10; steps 0) ? args[0] : "localhost"; RemoteIntegral remoteIntegral = (RemoteIntegral)Naming.lookup("rmi://" + host + "/RemoteIntegral"); for(int steps=10; steps< =10000; steps*=10) { System.out.println ("Approximated with " + steps + " steps:" + "n Integral from 0 to pi of sin(x)=" + remoteIntegral.integrate(0.0, Math.PI, steps, new Sin()) + "n Integral from pi/2 to pi of cos(x)=" + remoteIntegral.integrate(Math.PI/2.0, Math.PI, steps, new Cos()) + "n Integral from 0 to 5 of x^2=" + remoteIntegral.integrate(0.0, 5.0, steps, new Quadratic())); } System.out.println ("`Correct' answer using Math library:" + "n Integral from 0 to pi of sin(x)=" + (-Math.cos(Math.PI) - -Math.cos(0.0)) + "n Integral from pi/2 to pi of cos(x)=" + (Math.sin(Math.PI) - Math.sin(Math.PI/2.0)) + "n Integral from 0 to 5 of x^2=" + (Math.pow(5.0, 3.0) / 3.0)); } catch(RemoteException re) { System.out.println("RemoteException: " + re); } catch(NotBoundException nbe) { System.out.println("NotBoundException: " + nbe); } catch(MalformedURLException mfe) { System.out.println("MalformedURLException: " + mfe); } } } rmiclient.policy Policy file for the client. Grants permissions for the client to connect to the RMI server and Web server. // Taken from Core Web Programming from // Prentice Hall and Sun Microsystems Press, // . // © 2001 Marty Hall and Larry Brown; // may be freely used or adapted. grant { // rmihost - RMI registry and the server // webhost - HTTP server for stub classes permission java.net.SocketPermission "rmihost:1024-65535", "connect"; permission java.net.SocketPermission "webhost:80", "connect"; };
Note: Brought from our old site: http://www.salearningschool.com/example_codes/ on Jan 2nd, 2017 From: http://sitestree.com/?p=10239
Categories:Programming Code Examples, Java/J2EE/J2ME, Network Programming
Tags:Java/J2EE/J2MENetwork Programming
Post Data:2017-01-02 16:04:28
Shop Online: https://www.ShopForSoul.com/
(Big Data, Cloud, Security, Machine Learning): Courses: http://Training.SitesTree.com
In Bengali: http://Bangla.SaLearningSchool.com
http://SitesTree.com
8112223 Canada Inc./JustEtc: http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning)
Shop Online: https://www.ShopForSoul.com/
Medium: https://medium.com/@SayedAhmedCanada