我应该使用JMX连接到localhost jvm上的java程序。 换句话说,我想开发一个JMX客户端来在本地主机上configuration一个Java程序。 不build议使用JConsole! JConsole不适合,因为它是一般的JMX客户端,对主程序性能有负面影响。 oracle站点上的示例使用RMIConnector和主机:端口参数,但我不知道:应该在哪里设置jmx端口? JConsole可以通过PID连接到java进程。 但是我没有find任何有PID作为input参数的JMX API中的方法。
在Java中devise分布式应用程序时,似乎有一些技术可以解决同样的问题。 我简要阅读了Java远程方法调用和Java消息服务 ,但很难真正看出差异。 Java RMI似乎比JMS更紧密的耦合,因为JMS使用asynchronous通信,但是除此之外,我没有看到任何大的差异。 他们有什么区别? 其中一个比另一个新? 哪一种在企业中比较普遍/受欢迎? 他们彼此有什么优势? 什么时候比其他人更喜欢? 他们在执行方面有多难? 我也认为Web服务和CORBA解决了同样的问题。
这是我第一次使用Java Rmi *。 我有一个扩展UnicastRemoteObject的自定义类,实现了一个扩展远程的接口。 我认为我已经在类中正确地实现了接口的方法,但是当我尝试运行我的代码(并且它是关于一个没有参数的方法)时,我仍然得到IllegalArgumentException 。 jvm声称遇到了非法的远程方法,但方法和它的实现对我来说似乎很好。 除了错误地执行或调用方法之外,是否还有其他原因可能导致发生此exception? 这是堆栈跟踪: SEVERE: null java.rmi.server.ExportException: remote object implements illegal remote interface; nested exception is: java.lang.IllegalArgumentException: illegal remote method encountered: public abstract java.lang.String Node.getId() at sun.rmi.server.UnicastServerRef.exportObject(Unknown Source) at java.rmi.server.UnicastRemoteObject.exportObject(Unknown Source) at java.rmi.server.UnicastRemoteObject.exportObject(Unknown Source) at java.rmi.server.UnicastRemoteObject.<init>(Unknown Source) at java.rmi.server.UnicastRemoteObject.<init>(Unknown Source) at NodeImpl.<init>(NodeImpl.java:30) at NodeLauncher.main(NodeLauncher.java:11) Caused by: java.lang.IllegalArgumentException: illegal remote method […]
什么是RMIregistry? 它有什么作用?
我对Web服务和RMI都很陌生,我不知道在不同的Web应用程序之间进行远程处理的更好的方法是什么,当这些应用程序都是用Java编写的,也就是说不同的编程语言无关紧要的时候WS的优势)。 虽然一方面我会猜测在使用Web服务时会有性能开销(有没有人有一些数字来certificate这一点?),另一方面,在我看来,Web服务更加松散耦合,可以用来实现更多面向服务的体系结构(SOA)(这对于RMI是不可能的,对吗?)。 虽然这是一个相当普遍的问题,你的看法是什么? 谢谢
Java中的线程在技术上可能会自己死锁吗? 我在一次采访中被问到这个问题,回答说这是不可能的,但采访者告诉我说这是事实。 不幸的是我无法获得如何实现这个僵局的方法。 这让我想到了,我能想到的唯一情况就是在哪里有一个RMI服务器进程,其中包含一个调用自己的方法。 调用该方法的代码行放置在同步块中。 这甚至有可能或是面试官不正确? 我正在考虑的源代码是沿着这些线(其中testDeadlock在RMI服务器进程中运行) public boolean testDeadlock () throws RemoteException { synchronized (this) { //Call testDeadlock via RMI loopback } }
如果所有的工作都在那里完成的话,我的networking服务器会很快超载。 我将站在第二台服务器后面来处理数据。 EJB比RMI有什么优势,反之亦然? 那么Web服务(SOAP,REST)呢?
Java RMI和RPC之间的实际区别是什么? 我在某些地方看过RMI使用Object?
我正在学习RMI编码,当我运行RMI的服务器端时,我的连接被拒绝。 这是我的服务器主要方法 public static void main(String[] args)throws Exception { Implementation impl=new Implementation(); Naming.rebind("//localhost:2020/RMI", impl); System.out.println("Implementation has been bind to the name RMI and is ready for use"); } 我相信,实现的代码并不重要,因为它只是实现的接口,将运行的代码。 我得到的例外是这个 Exception in thread "main" java.rmi.ConnectException: Connection refused to host: localhost; nested exception is: java.net.ConnectException: Connection refused: connect at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source) at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source) at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown […]
我希望有人告诉我在哪里寻找如何在RMI中的客户端和服务器之间进行会话,即为了search的目的,这个概念的名称是什么?