- Messaggi: 70
- Ringraziamenti ricevuti 0
Informatica Mobile 07-08 [IM]
- davide bellucci
-
- Offline
- Senior Member
-
Riduci
Di più
17 Anni 6 Mesi fa #73375
da davide bellucci
Risposta da davide bellucci al topic Informatica Mobile 07-08 [IM]
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
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
-
- 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ì:
Vedete un po'.....
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
-
- 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];
Object args = new Object[1];
invece che
Object []args = new Object[1];
Si prega Accedi o Crea un account a partecipare alla conversazione.
- davide bellucci
-
- Offline
- Senior Member
-
Riduci
Di più
- Messaggi: 70
- Ringraziamenti ricevuti 0
17 Anni 6 Mesi fa #73388
da davide bellucci
Risposta da davide bellucci al topic Informatica Mobile 07-08 [IM]
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
Grazie ancora ragazzi
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Giovanni Curcio
-
Autore della discussione
- Offline
- Platinum Member
-
Riduci
Di più
- Messaggi: 570
- Ringraziamenti ricevuti 0
17 Anni 6 Mesi fa #73740
da Giovanni Curcio
Risposta da Giovanni Curcio al topic Informatica Mobile 07-08 [IM]
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?
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.
- davide bellucci
-
- Offline
- Senior Member
-
Riduci
Di più
- Messaggi: 70
- Ringraziamenti ricevuti 0
17 Anni 6 Mesi fa #73757
da davide bellucci
Risposta da davide bellucci al topic Informatica Mobile 07-08 [IM]
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.