Rmi running problem
Hi i am working my way through a basic rmi example, here is the code for the server as serverDriver, the interface as SampleServer and server2 as the implementation
of the interface
mport java.rmi.Remote;
import java.rmi.RemoteException;
public interface SampleServer extends Remote{
public int sum(int a,int b) throws RemoteException;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class Server2 extends UnicastRemoteObject implements SampleServer{
protected Server2() throws RemoteException {
super();
// TODO Auto-generated constructor stub
@Override
public int sum(int a, int b) throws RemoteException {
// TODO Auto-generated method stub
return 0;
public class serverDriver {
* @param args
public static void main(String[] args) {
// TODO Auto-generated method stub
try
// create the security manager
System.setSecurityManager(new RMISecurityManager());
Server2 server = new Server2();
// put the local instance in the registry
Naming.rebind("SAMPLE-SERVER",server);
System.out.println(" the server is waiting ");
catch(java.net.MalformedURLException me)
System.out.println("Malformed URL -> " + me.toString());
catch(RemoteException re)
System.out.println(" Remote Exception :" + re.toString());
----->
when i run the serverdriver java -Djava.security.policy=policy.all serverDriver
i get
------>
Remote Exception :java.rmi.ServerException: RemoteException occurred in server
thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested excep
tion is:
java.lang.ClassNotFoundException: SampleServer
------->
all of the class files are in the same directory ( i am using eclipse to compile and running from commandline using jre6 with matching compiler)
is this error beacuse i have to compile with rmic for the interface or is this an "old way" of doing rmi ???
thanks
// create the security manager
System.setSecurityManager(new RMISecurityManager());Remove that unless you know you need it.
// put the local instance in the registryThat won't work. Try Naming.rebind("SAMPLE-SERVER",server);
Naming.rebind("//localhost/SAMPLE-SERVER", server);
Remote Exception :java.rmi.ServerException: RemoteException occurred in server
thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested excep
tion is:
java.lang.ClassNotFoundException: SampleServerThe RMI Registry doesn't have SampleServer in its CLASSPATH. When you fix that, fix it for the client too.
is this error beacuse i have to compile with rmic for the interfaceNo.
Similar Messages
-
RMI Marshalling Problem: weblogic.Admin PING
WebLogic 5.1.0 with service pack 8 has been installed on a HPUX server. I'm
trying to ping the server from an NT box, but I'm getting some RMI
marshalling problems.
Here is the command that I run on NT:
C:\weblogic\jre1_2\jre\bin\java -classpath
c:weblogic/lib/weblogic510sp.jar;c:/weblogic/classes;c:/weblogic/lib/weblogi
caux.jar weblogic.Admin t3://HPServer:7001 PING > MarshallingProblem.txt
Here is what is in MarshallingProblem.txt (modified server name):
Failed to connect to t3://HPServer:7001 due to:
[weblogic.rmi.UnexpectedException: Marshalling:
- with nested exception:
[weblogic.rjvm.PeerGoneException:
- with nested exception:
[weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Exception
creating response stream ] - with nested exception:
[java.io.InvalidClassException:
weblogic.security.acl.internal.AuthenticatedUser; Local class not
compatible: stream classdesc serialVersionUID=6699361079932480379 local
class serialVersionUID=2825328378974757378]]]]
I previously had similar problems pinging the server from the server itself
until I included the servicepack in the classpath.
Anyone have any idea what going on in this situation?
Cameron TaggartCameron
Can you test with sp8 installed on your NT machine too ? And also make
sure you set the classpath with the sp8 jar files on NT before you run
weblogic.Admin PING
Raj Alagumalai
Cameron Taggart wrote:
WebLogic 5.1.0 with service pack 8 has been installed on a HPUX server. I'm
trying to ping the server from an NT box, but I'm getting some RMI
marshalling problems.
Here is the command that I run on NT:
C:\weblogic\jre1_2\jre\bin\java -classpath
c:weblogic/lib/weblogic510sp.jar;c:/weblogic/classes;c:/weblogic/lib/weblogi
caux.jar weblogic.Admin t3://HPServer:7001 PING > MarshallingProblem.txt
Here is what is in MarshallingProblem.txt (modified server name):
Failed to connect to t3://HPServer:7001 due to:
[weblogic.rmi.UnexpectedException: Marshalling:
- with nested exception:
[weblogic.rjvm.PeerGoneException:
- with nested exception:
[weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Exception
creating response stream ] - with nested exception:
[java.io.InvalidClassException:
weblogic.security.acl.internal.AuthenticatedUser; Local class not
compatible: stream classdesc serialVersionUID=6699361079932480379 local
class serialVersionUID=2825328378974757378]]]]
I previously had similar problems pinging the server from the server itself
until I included the servicepack in the classpath.
Anyone have any idea what going on in this situation?
Cameron Taggart -
For CF Server 9 developer win 64bit has the same running problems like 32bit, or more
CFWACK8 reader:
Better install CF Server stand alone - so no need Apache? For CF Server 9 developer windows 64bit has the same running problems like 32bit, or more?
I have installed http://www.apachefriends.org/en/xampp-windows.html ..WAMPP, well Mysql may used by this CF Server 9 developer, although book use Apache Derby embedded to cf server?
CFEclipse plugin may installed either in my (separate) Flash Builder 4 or Eclipse Helios, or only to latter?CF 9 64-bit will generally be your best choice on a 64-bit platform, unless you specifically require something that's not available in 64-bit, like COM.
For development, the built-in web server is fine. But if you want to learn how to manage a web server, it's good to install Apache and configure CF to use that.
You may use any SQL engine for which there are JDBC drivers, including MySQL. Apache Derby is used for demos, etc, because it's bundled with CF. You don't want to use it for real projects, though.
You can install CF Builder in any modern Eclipse, including Helios or Flash Builder. This is largely a matter of personal preference. I've encountered some features that don't work properly unless you let CF Builder install its own bundled Eclipse, but these are features that I don't use much anyway.
Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/
http://training.figleaf.com/ -
Applet running problem in ie 6.0 under Windows XP
Applet running problem in ie 6.0 under Windows XP
I have a PC running Iternet Explorer 6.0 running under Windows XP. I have developed an applet using JDK 1.3 which is running fine with applet viewer , but it is not running in ie. I have installed Netscape navigator and Opera 5. the applet is running fine in both of these browsers but somehow it is not running in IE.
Later on I upgraded my JDK to 1.4. It also displays use Java2 (V1.4.1) for <applet> (requires restart) tck marked in Advance section under Tools-Options menu of IE.
I have also tried and set various options in my Control Panel�s Java Plug-in but all in vain. I have searched the sites for this solution but no one answers specifically.
I know it�s a small problem due to discarded JVM in IE under Windows XP but give me solution for that.
Thanks in Advance
[email protected]Dear I have the same problem .
Applet running problem in 6.0 . Enen I have installed the latest Jre 1.5.
What should I do. I am fedup with this problem. -
Beginner running RMI example problem
I am trying to test this RMI code from Thinking in java and it is giving this error
Exception in thread "main" java.lang.NoClassDefFoundError: DispatchPerfectTime (
wrong name: project3/rmi/DispatchPerfectTime)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:488)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:10
6)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:243)
at java.net.URLClassLoader.access$100(URLClassLoader.java:51)
at java.net.URLClassLoader$1.run(URLClassLoader.java:190)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:183)
at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:281)
at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:310)
I compiled the 3 files below and also called rmic and created a stub and skeleton..... Only it doesnt run..
Any ideas why ?
INTERFACE
package project3.rmi;
import java.rmi.*;
interface PerfectTimeI extends Remote
long getPerfectTime() throws RemoteException;
}Implementation of Remote interface
package project3.rmi;
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
import java.net.*;
public class PerfectTime extends UnicastRemoteObject implements PerfectTimeI
public long getPerfectTime() throws RemoteException
return System.currentTimeMillis();
//constructor to throw remote exceptions
public PerfectTime() throws RemoteException
//super(); called automatically
//register for rmi server
public static void main(String args[]) throws Exception
LocateRegistry.createRegistry(2005);
System.setSecurityManager(new RMISecurityManager());
PerfectTime pt = new PerfectTime();
Naming.rebind("//200.23.23.2:2005/PerfectTime",pt); //I put dummy IP instead of my real IP
System.out.println("Ready to do time");
}USING REMOTE OBJECT
/**Using the remote object**/
package project3.rmi;
import java.rmi.*;
public class DispatchPerfectTime
public static void main(String args[]) throws Exception
System.setSecurityManager(new RMISecurityManager());
PerfectTimeI t = (PerfectTime)Naming.lookup("//200.23.23.2:2005/PerfectTime");
for(int i =0;i<10;i++)
System.out.println("Perfect Time is "+t.getPerfectTime());
}I am just using another RMI example from class now...
All files are compiling but this is error.....
C:\>java -classpath c:\ RMIServer
Starting Server
Started Server...
Binding to RMI Registry
Error RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested excep
tion is:
java.lang.ClassNotFoundException: RMIServer_Stub
I doono if my host is correct...... I donno what to write in place of test... its some service??
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
public class RMIServer extends UnicastRemoteObject implements RMIInterface
static String host = "rmi://IPAddress/test";
static String data[] = {"c","c++","java"};
public RMIServer() throws RemoteException
super();
//implement methods
public int getNumData() throws RemoteException
return data.length;
public String getData(int index) throws RemoteException
if(index>=0 && index<data.length)
return data[index];
else
return "N/A";
public static void main(String args[])
RMIServer server;
try{
System.out.println("Starting Server");
server = new RMIServer();
System.out.println("Started Server...");
System.out.println("Binding to RMI Registry");
Naming.rebind(host,server);
System.out.println("Remote methods registered successfully");
catch(Exception e){
System.out.println("Error "+e.getMessage());
}//main
} //class -
Hi, I am learning RMI whit SSL and I have a problem, I cant run the example form the RMI SSL tutorials.
I can run the server, and bind the object but the client throw this exception:
HelloClient exception: error during JRMP connection establishment; nested exception is:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:274)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:306)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at HelloClient.main(HelloClient.java:60)...
can you help me???Hi,
Dis you solved the probelm ? I am facing the similar exception. I am using jre1.5.0_11.
Regards,
Titas Mutsuddy -
Hi
I'm a novice on RMI and have been trying to learn the concept by copying the HelloWorld RMI example from the Java Tutorials to run on my Windows 98 PC. However, when I issued a DOS command: Java HelloImpl, the following error came up:
" Access denied (java.net.SocketPermission .....1099 connect resolve)"
Any suggestions what possible cause of the problem ?
Thanks.check the permissions in your policy file.
-
RMI connectivity problem (multi-NIC)
I'm developing a simple photo share program with Java RMI.
I connect rmiregistry (192.168.100.3), it returns the object reference, but when I invoke a method I get problems.
My server (remote) - 192.168.100.3 - reply with an address of another NIC - 192.168.62.1 (from VMware). I print out the Proxy object, and I was surprised when I saw 192.167.62.1 address, instead 192.168.100.3. My client is running on 192.168.100.1 address.
Why is this happening?
When I turned off the VMware virtual NICs, I was successful. I want to understand what is going on, and if is there a way to fix this issue.
$ java rmi.Client
Looking...object found!
Proxy[PhotoShare,RemoteObjectInvocationHandler[UnicastRef [liveRef: [endpoint:[192.168.62.1:58343](remote),objID:[4cc5973e:11de2bb065b:-7fff, 4037313925566802436]]]]]
Exception in thread "main" java.rmi.ConnectIOException: Exception creating connection to: 192.168.62.1; nested exception is:
java.net.SocketException: Network is unreachable
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:614)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:110)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:178)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132)
at $Proxy0.listaFotos(Unknown Source)
at rmi.Client.main(Client.java:26)
Caused by: java.net.SocketException: Network is unreachable
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:180)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:595)
... 7 moreEdited by: pantony on Nov 28, 2008 3:26 AM
Edited by: pantony on Nov 28, 2008 3:27 AMSee item A.1 of the [RMI FAQ|http://java.sun.com/j2se/1.5.0/docs/guide/rmi/faq.html].
-
Java.rmi.NoSuchObjectException problems
Hello,
After calling home.create() in my code, passing in primary key and
additional column data, when I call home.findByPrimaryKey (primkey)
followed by a call to one of the methods in the bean, I immediately get
a a java.rmi.NoSuchObjectException.
An exception is not thrown when calling home.findByPrimaryKey (primkey)
so it is safe to assume that a reference has been obtained to the bean
with the data I am looking for, correct? If so, why am I getting this
exception:
java.rmi.NoSuchObjectException: Bean with primary key: 'Pat Hardy' not
found in
home: 'Student'
at
weblogic.ejb.internal.EntityEJBContext.load(EntityEJBContext.java:153
at
weblogic.ejb.internal.EntityEJBContext.afterBegin(EntityEJBContext.ja
va:212)
at
weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(StatefulE
JBObject.java:162)
etc.
etc.
etc.
Any ideas of what I might be doing wrong?
Thanks for your help in advance.We had a similar problem, although I don't know if it was the same
thing. We are using WL 5.1, sp5, with Oracle 8.1.6.
I have a stateless session bean, which had a transactional attribute
of 'Supports'. It would call an entity bean with transactional attribute
of 'RequiresNew' for all methods. The session bean would do a finder
on the entity bean, and if it got an ObjectNotFoundException, it would
then create the entity bean with a call to home.create(id). Then, it would
call a business method on the entity bean.
For some reason, in the case where the session bean is called from within
a thread that already had a transaction started, the call to the entity
bean business method would hang, if an only if it had to create a new
bean first. If the finder of the bean succeeded, there would be no hang.
Sometimes, instead of hanging, it would return a NoSuchObjectException.
If the stateless bean were called outside of a transaction, would always
succeed, regardless.
So, my fix, was to set the transactional attribute for the stateless bean to
'NotSupported' for all methods. It now seems to work in all cases,
no more hangs or NoSuchObjectExceptions....
Is this expected behavior? Is this related to the same problem?
The BEA recomendations to use READ-COMMITTED are useless for
the case where you are running a clustered environment, and where you
need to have the bean deployed on all servers in the cluster for
fail-over reliability.....
Jason
"Korey Shronts" <[email protected]> wrote in message
news:[email protected]...
I dont' know about the mapping to CHAR but we've managed to fix our nosuch
object problem.
BEA sent me this snippet:
The bug is as follows
In Oracle (8.0.5), if there is a primary key constraint AND you use an
isolation
level of SERIALIZABLE, an insert followed by an update in the same
transaction
fails. Specifically, the insert succeeds (to all outward indications),
but the update fails (the returned count is 0) after some number of
iterations.
What's the workaround? If the customer is not sharing the database with
any
other app or running it under a cluster, tell them to set the isolation
level to
read_committed. Serializable only slows them down without any added
benefit.
If clustering is on, and serializable behavior is deemed essential for
this
particular bean, maybe they can deploy the bean on only one of the
servers
to reduce it to the case above.
I set the isolation level on our beans to read_commited. Fixed theproblem
although we're using Oracle 8i not 8.0.5.
<[email protected]> wrote in message
news:[email protected]...
Well, it appears, that you cannot map a java.lang.String to a CHAR inOracle.
A java.lang.String can be mapped to a VARCHAR2.
Is this a bug?
[email protected] wrote:
I just install WebLogic server 5.1.0 and SP5 on a new machine.
Still have the same problems.
Will keep you posted.
Korey Shronts wrote:
We're having the same problem. I've opened a case with BEA but
haven't
heard anything yet. If you find the solution let me know!
[email protected]
<[email protected]> wrote in message
news:[email protected]...
I accidently omitted the first line in the exception. Sorry aboutthat.
Here it is again from the beginning:
Thu Sep 21 08:52:12 EDT 2000:<I> <EJB JAR deploymentC:/wlogic/lib/S.jar>
Transa
ction: '969540638993_1' rolled back due to EJB exception:
java.rmi.NoSuchObjectException: Bean with primary key: 'Pat Hardy'not
found in
home: 'Student'
at
weblogic.ejb.internal.EntityEJBContext.load(EntityEJBContext.java:153
at
weblogic.ejb.internal.EntityEJBContext.afterBegin(EntityEJBContext.ja
va:212)
at
weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(StatefulE
JBObject.java:162)
etc.
etc.
etc.
Any ideas of what I might be doing wrong?
Thanks for your help in advance.
[email protected] wrote:
Hello,
After calling home.create() in my code, passing in primary key
and
additional column data, when I call home.findByPrimaryKey(primkey)
followed by a call to one of the methods in the bean, Iimmediately get
a a java.rmi.NoSuchObjectException.
An exception is not thrown when calling home.findByPrimaryKey(primkey)
so it is safe to assume that a reference has been obtained to
the
bean
with the data I am looking for, correct? If so, why am I gettingthis
exception:
java.rmi.NoSuchObjectException: Bean with primary key: 'Pat
Hardy'
not
found in
home: 'Student'
at
weblogic.ejb.internal.EntityEJBContext.load(EntityEJBContext.java:153
at
weblogic.ejb.internal.EntityEJBContext.afterBegin(EntityEJBContext.ja
va:212)
at
weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(StatefulE
JBObject.java:162)
etc.
etc.
etc.
Any ideas of what I might be doing wrong?
Thanks for your help in advance. -
Hi
I have just put RMI into my app and it works fine, connects to a remote server, runs a method on the server and returns the results.
The problem is when I try to use a line like:
URL url = MyClass.class.getResources("image/save.gif");
The url is null. This code will work before my RMI function is run. Also, every dialog the application opens after running RMI has a line at the top of the pane saying: "Java Applet Window".
Is RMI playing with the Classloader?
Do I have to instaniate the ClassLoader or do something else to get my resources again and get rid of the text on each of the dialog boxes???
Thanks in advance.if your class is Remote object, you use the RMI CLassLoader when you do:
URL url = MyClass.class.getResources("image/save.gif");you shoud use instead:
URL url = Classloader.getSystemResources("image/save.gif"); -
RMI activation problem under LINUX
When I try to run the activation example from the RMI tutorial, I get the following exception:
Exception in thread "main" java.rmi.activation.ActivationException: ActivationSystem not running; nested exception is:
java.rmi.NotBoundException: java.rmi.activation.ActivationSystem
at java.rmi.activation.ActivationGroup.getSystem(ActivationGroup.java:453)
at examples.activation.Setup.main(Setup.java:68)
Caused by: java.rmi.NotBoundException: java.rmi.activation.ActivationSystem
at sun.rmi.registry.RegistryImpl.lookup(RegistryImpl.java:106)
at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:342)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:207)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:350)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Naming.java:84)
at java.rmi.activation.ActivationGroup.getSystem(ActivationGroup.java:449)
... 1 more
This is with J2SE 1.4.1 on RedHat 7.3 running a vanilla 2.4.18 kernel. I'm running everything out of shell scripts to keep from getting bitten by typos.
Here's the punchline: The identical code works just fine on RedHat 6.2 (kernel 2.2.14 or so) - same 1.4.1.
Netstat tells me there is something listening on the appropriate ports, and output from strace suggests that there is some traffic back and forth to the server. There is no firewall running - I unloaded ipchains in the interest of paranoia. (There is firewalling running on the working system, go figure...)
Help? I can post more details if that would help resolve the problem.I wrote
When I try to run the activation example from the RMI
tutorial, I get the following exception:<snip>
The key was this:
The identical code works just
fine on RedHat 6.2 (kernel 2.2.14 or so) - same 1.4.1."Identical" really was - I'd used a tar archive to make a complete copy of the code running on the RH 6.2 system. The copy included the file log/Logfile.1, written by rmid (or rmiregistry). This contains lots of IP addresses; I suspect it's more than a log. Since the original machine and the clone are separated by a firewall, attempts by the clone to contact the original failed.
Deleting the "log" directory made the problem go away. -
Hi,
I have a problem :D. In order to verify clients access to my application I have to use an RMI. The application server I'm running my app on has JVM 1.4 but the RMI is written in at least v5.0, it uses collection framework with abstract implementations ( List<String> and other features not avaliable in Java 1.4 ).
Is there an easy workaround to this problem or is there a trivial solution?
Should I write a web service to work as a fascade for the RMI?
Any help will be greately appreciated!
Thanks in advance, Martin.5.0 is compatible with 1.4. So clients running 5.0 will not have any problem accessing your application which is running in 1.4.
When you say the RMI is 5.0, do you mean the client's RMI, or the RMI your application will use? Im kind of confused with the way you injected the application server into the mix. -
RMI Server and RMI Client Problem
First, Hi!
I have create my RMI Server and a RMI Servlet client.
I can run the server and servlet first time and it works fine.
Then, I stop rmiregistry and server.
Then, I start rmiregistry and server for a second time but my RMI Servlet client gets a
java.rmi.ConnectException: Connection refused to host: xxx.xxx.xxx.xxx; nested exception is: java.net.ConnectException: Connection refused
If I copy the class again where the servlets resides, it works again. But I have to keep doing that. I have to keep copying the class file to the servlet directory every 2nd time I try to run it for it to work.
Anyone know what am I doing wrong?First, Hi!
I have create my RMI Server and a RMI Servlet client.
I can run the server and servlet first time and it
works fine.
Then, I stop rmiregistry and server.
Then, I start rmiregistry and server for a second time
but my RMI Servlet client gets a
java.rmi.ConnectException: Connection refused to host:
xxx.xxx.xxx.xxx; nested exception is:
java.net.ConnectException: Connection refused
If I copy the class again where the servlets resides,which class file ? u mean RMIServer's class files ??
I have faced the same problem too. In my case if i just restart my Tomcat webserver the error goes and the servlet is very well able to connect back to the RMI Server
it works again. But I have to keep doing that. I have
to keep copying the class file to the servlet
directory every 2nd time I try to run it for it to
work.
Anyone know what am I doing wrong? -
My first RMI server: problem
Hi,
I'm just trying to create my first RMI program, but I got already blocked immediately:
It's just a stupid program with a function that returns "ok".
So what I did is the following:
1)I created a class OkServer.java
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface OkServer extends Remote {
public String getOk() throws RemoteException;
2)I created a class OkServerImpl.java
import java.rmi.server.UnicastRemoteObject;
import java.rmi.RMISecurityManager;
import java.rmi.RemoteException;
import java.rmi.Naming;
public class OkServerImpl extends UnicastRemoteObject implements OkServer {
public OkServerImpl() throws RemoteException {
public String getOk() {
return "ok";
public static void main (String args[]) throws Exception {
System.setSecurityManager(new RMISecurityManager());
OkServerImpl OkSvr = new OkServerImpl();
Naming.bind("OkServer", OkSvr);
3) I compiled everything with javac *.java
i use java version below:
java version "1.5.0_12"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_12-b04)
Java HotSpot(TM) Client VM (build 1.5.0_12-b04, mixed mode)
4)I opened a cmd window and started the registry with the command c:\rmiregistr
(a cursor starts blinking, so I think it runs correctly)
5)then I start the program with the command: C:\java OkServerImpl
but I get the error below !!
C:\Temp\rmitester>java OkServerImpl
Exception in thread "main" java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
at java.security.AccessController.checkPermission(AccessController.java:427)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkConnect(SecurityManager.java:1034)
at java.net.Socket.connect(Socket.java:513)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:179)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:569)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:185)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:306)
at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
at java.rmi.Naming.bind(Naming.java:111)
at OkServerImpl.main(OkServerImpl.java:18)
What's wrong???solved, but i don't understand why i encountered this particular issue (that isn't mentioned to happen or to configure in my book):
i had to create a custom policy file:
make a file "c:\temp\rmitester\policy.all" and past the text below in it:
grant {
permission java.security.AllPermission "", "";
thereafter launch the server with this command:
c:\temp\rmitester\java -Djava.security.policy=policy.all OkServerImpl
and the client with this command:
c:\temp\rmitester\java -Djava.security.policy=policy.all OkClient localhost
Can anyone explain if it was normal that i encountered this problem or was it seldom behaviour that happens only to me? -
Registry on RMI Server problem
I have a rmi server app. running 24/7 on a Win2K box with clients connecting locally and over the Internet. Every so often the clients cannot connect and/or currently connected clients cannot communicate with the server. Sometimes we go a month without this happening and sometimes it happens twice in a day. When it does happen, the server app. is still fully functionally. It appears that the registry is locked or corrupt. Clients attempting to connect suceed with the Naming.lookup, but fail after that. When this happens I stop and restart the server app. and the clients can then automatically reconnect. I see other people have had this problem but I haven't seen any solution.
Thanks.Seems as if a bug.
For more details refer to
http://developer.java.sun.com/developer/technicalArticles/RMI/rmi/
Maybe you are looking for
-
Loss transparency in an animated GIF image when resizing
Hi Friends, I have to write a program to resize GIF, JPEG , and PNG images. I wrote and it works but when i resize a GIF file it loses its transparency and give a black color for transparent area. I used a GifDecoder found at www.fmsware.com/stuff/Gi
-
It just doesn't seem to automatically want to take the next step. Could be that the .exe won't initiate. I have tried to go around it by having it load via my wordpress blog, but I still get stuck after the download. The error message say that it can
-
Black screen after waking from sleep mode - Compaq Presario CQ5110F
My mother's computer has been having the problem listed in the subject -- after waking from sleep mode, the monitor just stays black, and won't come back. After trying everything I could find online, I eventually found the bios update which claims to
-
Transferring 8mm videos to dvd using imovie
I have several 8mm videos that I'm wanting to transfer to dvd. I have an old Sony ccd-trv212 that I can use, but don't know how to plug it into my Macbook. I've read that I need a FireWire transfer box, but some people have used only USB converters.
-
MyRio calculation time for RCP
Hi, I'm a researcher in Power Electronics and I wish to know about the performance of the MyRIO. We are currently using dSPACE (dsp1104) modules for our Rapid Control Prototyping. When we implement our control algorithm, we define a Time step in the