Please Help Me
Tatiana Pereira Filgueiras <[email protected]> Wed, 27 Sep 2006 13:30:31 -0600
| Newsgroups | gmane.comp.java.sun.javaspaces |
|---|---|
| Message-ID | <LISTSERV%[email protected]> |
I'm trying to make a calculator server using javaspaces for a month but I
can't do it ... anybody here have a calculator server with remote client
source code? What I do with this code below???
see my problems
C:\Documents and Settings\Tati\Desktop\Pesquisas\pratica\Tentativa2>java -classp
ath .\;"C:\Arquivos de programas\jini2_1\lib\jini-ext.jar";"C:\Documents and Set
tings\Tati\Desktop\Pesquisas\pratica\pac.jar";"C:\Arquivos de programas\jini2_1\
lib\reggie.jar";"C:\Arquivos de programas\jini2_1\lib\outrigger.jar";"C:\Arquivo
s de programas\jini2_1\lib\jini-core.jar" Cliente
Localizando JavaSpace...
JavaSpace localizado.
java.rmi.ServerException: RemoteException in server thread; nested exception is:
java.rmi.UnmarshalException: unmarshalling method/arguments; nested exce
ption is:
java.lang.ClassNotFoundException: Calculadora2App.Resultado
at net.jini.jeri.BasicInvocationDispatcher.dispatch(BasicInvocationDispa
tcher.java:644)
at com.sun.jini.jeri.internal.runtime.ObjectTable$6.run(ObjectTable.java
:597)
at net.jini.export.ServerContext.doWithServerContext(ServerContext.java:
103)
at com.sun.jini.jeri.internal.runtime.ObjectTable$Target.dispatch0(Objec
tTable.java:595)
at com.sun.jini.jeri.internal.runtime.ObjectTable$Target.access$700(Obje
ctTable.java:212)
at com.sun.jini.jeri.internal.runtime.ObjectTable$5.run(ObjectTable.java
:568)
at com.sun.jini.start.AggregatePolicyProvider$6.run(AggregatePolicyProvi
der.java:527)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.jini.jeri.internal.runtime.ObjectTable$Target.dispatch(Object
Table.java:565)
at com.sun.jini.jeri.internal.runtime.ObjectTable$Target.dispatch(Object
Table.java:540)
at com.sun.jini.jeri.internal.runtime.ObjectTable$RD.dispatch(ObjectTabl
e.java:778)
at net.jini.jeri.connection.ServerConnectionManager$Dispatcher.dispatch(
ServerConnectionManager.java:148)
at com.sun.jini.jeri.internal.mux.MuxServer$2.run(MuxServer.java:244)
at com.sun.jini.start.AggregatePolicyProvider$5.run(AggregatePolicyProvi
der.java:513)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.jini.jeri.internal.mux.MuxServer$1.run(MuxServer.java:241)
at com.sun.jini.thread.ThreadPool$Worker.run(ThreadPool.java:136)
at java.lang.Thread.run(Thread.java:595)
at com.sun.jini.jeri.internal.runtime.Util.__________EXCEPTION_RECEIVED_
FROM_SERVER__________(Util.java:108)
at com.sun.jini.jeri.internal.runtime.Util.exceptionReceivedFromServer(U
til.java:101)
at net.jini.jeri.BasicInvocationHandler.unmarshalThrow(BasicInvocationHa
ndler.java:1303)
at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvo
cationHandler.java:832)
at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethod(BasicInvocati
onHandler.java:659)
at net.jini.jeri.BasicInvocationHandler.invoke(BasicInvocationHandler.ja
va:528)
at com.sun.jini.outrigger.$Proxy1.notify(Unknown Source)
at com.sun.jini.outrigger.SpaceProxy2.notify(SpaceProxy2.java:507)
at Cliente.main(Cliente.java:33)
Caused by: java.rmi.UnmarshalException: unmarshalling method/arguments; nested e
xception is:
java.lang.ClassNotFoundException: Calculadora2App.Resultado
at net.jini.jeri.BasicInvocationDispatcher.dispatch(BasicInvocationDispa
tcher.java:619)
at com.sun.jini.jeri.internal.runtime.ObjectTable$6.run(ObjectTable.java
:597)
at net.jini.export.ServerContext.doWithServerContext(ServerContext.java:
103)
at com.sun.jini.jeri.internal.runtime.ObjectTable$Target.dispatch0(Objec
tTable.java:595)
at com.sun.jini.jeri.internal.runtime.ObjectTable$Target.access$700(Obje
ctTable.java:212)
at com.sun.jini.jeri.internal.runtime.ObjectTable$5.run(ObjectTable.java
:568)
at com.sun.jini.start.AggregatePolicyProvider$6.run(AggregatePolicyProvi
der.java:527)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.jini.jeri.internal.runtime.ObjectTable$Target.dispatch(Object
Table.java:565)
at com.sun.jini.jeri.internal.runtime.ObjectTable$Target.dispatch(Object
Table.java:540)
at com.sun.jini.jeri.internal.runtime.ObjectTable$RD.dispatch(ObjectTabl
e.java:778)
at net.jini.jeri.connection.ServerConnectionManager$Dispatcher.dispatch(
ServerConnectionManager.java:148)
at com.sun.jini.jeri.internal.mux.MuxServer$2.run(MuxServer.java:244)
at com.sun.jini.start.AggregatePolicyProvider$5.run(AggregatePolicyProvi
der.java:513)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.jini.jeri.internal.mux.MuxServer$1.run(MuxServer.java:241)
at com.sun.jini.thread.ThreadPool$Worker.run(ThreadPool.java:136)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassNotFoundException: Calculadora2App.Resultado
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at net.jini.loader.pref.PreferredClassLoader.loadClass(PreferredClassLoa
der.java:922)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at net.jini.loader.pref.PreferredClassProvider.loadClass(PreferredClassP
rovider.java:613)
at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
at net.jini.loader.ClassLoading.loadClass(ClassLoading.java:138)
at net.jini.io.MarshalInputStream.resolveClass(MarshalInputStream.java:2
96)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:154
4)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
699)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at com.sun.jini.jeri.internal.runtime.Util.unmarshalValue(Util.java:221)
at net.jini.jeri.BasicInvocationDispatcher.unmarshalArguments(BasicInvoc
ationDispatcher.java:1049)
at net.jini.jeri.BasicInvocationDispatcher.dispatch(BasicInvocationDispa
tcher.java:599)
... 17 more
Pressione qualquer tecla para continuar. . .
My codes:
Cliente.java
import Calculadora2App.*;
import java.io.Serializable;
import java.util.Scanner;
import net.jini.space.JavaSpace;
import net.jini.core.lease.Lease;
import net.jini.core.event.RemoteEvent;
import net.jini.core.event.RemoteEventListener;
import java.lang.*;
public class Cliente{ //implements RemoteEventListener,Serializable{
private JavaSpace space;
public Cliente(){}
public Cliente(JavaSpace space){
this.space = space;
}
public static void main(String[] args){
try {
// ************* Fazendo Lookup para achar o espaço ***********************
Utilidades conexao = new Utilidades();
JavaSpace space = conexao.conecta();
Cliente setar = new Cliente(space);
// ************** Registrando cliente para receber notificação de
resultado **************
Resultado usuario = new Resultado(space);
Resultado template = new Resultado();
space.notify(template, null,usuario, Lease.FOREVER, null);
//
***************************************************************************************
Scanner sc = new Scanner(System.in);
CalcEntry msg = new CalcEntry(); // Entry de requisição de calculos
System.out.println("************************************************\n");
System.out.println("Digite o numero da operacao desejada:\n");
System.out.println("1. Adicao\n");
System.out.println("2. Subtracao:\n");
System.out.println("3. Multiplicacao\n");
System.out.println("4. Divisao\n");
System.out.println("************************************************\n");
//****************************************************************************************
msg.operacao = new Integer(sc.nextInt());
System.out.println("Digite o primeiro numero: ");
msg.op1 = new Integer(sc.nextInt());
System.out.println("\nDigite o segundo numero:");
msg.op2 = new Integer(sc.nextInt());
//****************************** Usando write para escrever no espaço
*********************
conexao.escreve(msg,space);
}
catch (Exception e){
e.printStackTrace();
}
}
Resultado.java
import net.jini.core.lease.Lease;
import net.jini.core.event.RemoteEvent;
import net.jini.core.event.RemoteEventListener;
public class Resultado implements Entry,RemoteEventListener,Serializable {
public Integer resultado;
private JavaSpace space;
public Resultado(){}
public Resultado(JavaSpace space){
this.space = space;
}
public void notify(RemoteEvent evento){
System.out.println("Evento recebido. Tentando retirar do espaco........\n");
Resultado resulEntry = new Resultado();
//loop para tirar todas as entrys do espaço
while(resulEntry == null){
try{
resulEntry = (Resultado)space.take(resulEntry,null,Long.MAX_VALUE);
System.out.println("\nResultado da operacao:
"+resulEntry.resultado.intValue());
}
catch(Exception e){
System.err.println("Erro ao retirar do espaço\n");
e.printStackTrace();
}
}
}
}
===========================================================================
To unsubscribe, send email to [email protected] and include in the body
of the message "signoff JAVASPACES-USERS". For general help, send email to
[email protected] and include in the body of the message "help".
To view past JAVASPACES-USERS postings, please see:
http://archives.java.sun.com/archives/javaspaces-users.html