fbpx
Skip to main content

Informatica Mobile 07-08 [IM]

Di più
17 Anni 6 Mesi fa #73375 da davide bellucci
Ragazzi abbiamo un problema che non riusciamo a risolvere, siamo disperati, se qualcuno può aiutarci gli saremo eternamente grati.

Ho la classe agente SLAChecker che prende nel costruttore 1
parametro (String),
uso il seguente codice per avviare tale agente (da un'altro agente in
esecuzione):

jade.wrapper.ContainerController cc = myAgent.
getContainerController();
Object[] args = new Object[1];
args[0] = "stringa";
try
{
jade.wrapper.AgentController ac = cc.createNewAgent("SLAChecker@" +
myAgent.getAID(), SLAChecker.class.getName(), args);
ac.start();
}
catch (jade.wrapper.StaleProxyException spe) { System.out.println
("Errore nella creazione dello SLAChecker"); spe.printStackTrace(); }

ma ottengo il seguente errore in fase di esecuzione:

Errore nella creazione dello SLAChecker
jade.wrapper.StaleProxyException: Class application.SLA.SLAChecker for
agent ( a
gent-identifier :name "SLAChecker@( agent-identifier :name pluto@dan:
1099/JADE
:addresses (sequence 160.80.121.103:7778/acc ))@dan:1099/JADE"
) cannot b
e instantiated [nested java.lang.InstantiationException: application.
SLA.SLAChec
ker]
at jade.wrapper.ContainerController.createNewAgent
(ContainerController.j
ava:133)
at application.customer.CustomerContractBehaviour.action
(CustomerContrac
tBehaviour.java:101)
at jade.core.behaviours.Behaviour.actionWrapper(Behaviour.
java:
340)
at jade.core.Agent$ActiveLifeCycle.execute(Agent.java:1463)
at jade.core.Agent.run(Agent.java:1401)
at java.lang.Thread.run(Unknown Source)

Nel caso invece definisco un costruttore per SLAChecker senza
parametri e passo null come terzo argomento nella createNewAgent() non
ho problemi e l'agente viene creato ed avviato correttamente.

Come diavolo si fa a passare parametri a questi maledetti agenti???
Per favore rispondete!!
Grazie

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • COM_EASYSOCIAL_GUEST_NAME
  • Avatar di COM_EASYSOCIAL_GUEST_NAME
  • Visitatori
  • Visitatori
17 Anni 6 Mesi fa #73382 da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic Informatica Mobile 07-08 [IM]
Noi li abbiamo passati così:
jade.wrapper.AgentController ac = cc.createNewAgent("SLAChecker@" +
myAgent.getAID(), "im.blabla.Classe", new Object[] {arg1, arg2, arg3, ......, argn});


Vedete un po'.....

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • COM_EASYSOCIAL_GUEST_NAME
  • Avatar di COM_EASYSOCIAL_GUEST_NAME
  • Visitatori
  • Visitatori
17 Anni 6 Mesi fa #73383 da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic Informatica Mobile 07-08 [IM]
Prova a fare così:

Object args = new Object[1];

invece che

Object []args = new Object[1];

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
17 Anni 6 Mesi fa #73388 da davide bellucci
grazie ragazzi ma forse ho risolto.. il codice va bene ma a quanto pare la guida di Jade fa più schifo di quanto pensassi: potevano anche spendere una riga in più per dire che il passaggio degli argomenti non si fa tramite costruttore come in tutte le classi Java che si rispettino, bensì tramite una chiamata a getArguments() ! ! ! ! Mah!! Sono senza parole, costava tanto scrivercelo!! 3 giorni/uomo completamente buttati.

Grazie ancora ragazzi

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
17 Anni 6 Mesi fa #73740 da Giovanni Curcio
Ciao,
sapete come va consegnata la relazione? Si deve consegnare nelle mani del prof o si puo' lasciare nella sua cassetta postale? In questo ultimo caso si puo' portare anche domani sera tardi, ad esempio verso le 20.00?

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
17 Anni 6 Mesi fa #73757 da davide bellucci
a noi ha detto che la consegna è tra le 10 e le 12, quindi va consegnata a mano

Si prega Accedi o Crea un account a partecipare alla conversazione.