2

I have two virtual machines in a private cloud, and I want to execute Jade both of them. They can access each other without problems. I started in one of them the Main Container, and in the other a Container which would connect to the main. However, I get a Dispatcher exception when this connection tries to take place:

--------
INFO: Adding node <Container-1> to the platform
Jun 22, 2011 12:54:34 PM jade.core.messaging.MessagingService
clearCachedSlice
INFO: Clearing cache
Jun 22, 2011 12:54:34 PM jade.core.messaging.MessagingService
$CommandTargetSink handleNewSlice
WARNING: Error notifying current information to new Messaging-Slice
Container-1
jade.core.IMTPException: Dispatcher error [nested
jade.imtp.leap.DispatcherException: DispatcherException in remote site.
No skeleton for object-id 3447152]
        at jade.imtp.leap.NodeStub.accept(NodeStub.java:91)
        at jade.core.messaging.MessagingProxy.addRoute(MessagingProxy.java:257)
        at jade.core.messaging.MessagingService
$CommandTargetSink.handleNewSlice(MessagingService.java:993)
        at jade.core.messaging.MessagingService
$CommandTargetSink.consume(MessagingService.java:906)
        at jade.core.CommandProcessor
$SinksFilter.accept(CommandProcessor.java:253)
        at jade.core.Filter.filter(Filter.java:89)
        at jade.core.Filter.filter(Filter.java:90)
        at jade.core.Filter.filter(Filter.java:90)
        at
jade.core.CommandProcessor.processIncoming(CommandProcessor.java:229)
        at
jade.core.PlatformManagerImpl.issueNewSliceCommand(PlatformManagerImpl.java:744)
        at
jade.core.PlatformManagerImpl.localAddSlice(PlatformManagerImpl.java:445)
        at
jade.core.PlatformManagerImpl.localAddNode(PlatformManagerImpl.java:293)
        at jade.core.PlatformManagerImpl.addNode(PlatformManagerImpl.java:245)
        at
jade.imtp.leap.PlatformManagerSkel.executeCommand(PlatformManagerSkel.java:73)
        at jade.imtp.leap.Skeleton.processCommand(Skeleton.java:51)
        at
jade.imtp.leap.CommandDispatcher.handleCommand(CommandDispatcher.java:949)
        at jade.imtp.leap.JICP.JICPServer
$ConnectionHandler.run(JICPServer.java:439)
Nested Exception:
jade.imtp.leap.DispatcherException: DispatcherException in remote site.
No skeleton for object-id 3447152
        at
jade.imtp.leap.CommandDispatcher.checkRemoteExceptions(CommandDispatcher.java:516)
        at
jade.imtp.leap.CommandDispatcher.dispatchSerializedCommand(CommandDispatcher.java:418)
        at
jade.imtp.leap.CommandDispatcher.dispatchCommand(CommandDispatcher.java:343)
        at jade.imtp.leap.NodeStub.accept(NodeStub.java:83)
        at jade.core.messaging.MessagingProxy.addRoute(MessagingProxy.java:257)
        at jade.core.messaging.MessagingService
$CommandTargetSink.handleNewSlice(MessagingService.java:993)
        at jade.core.messaging.MessagingService
$CommandTargetSink.consume(MessagingService.java:906)
        at jade.core.CommandProcessor
$SinksFilter.accept(CommandProcessor.java:253)
        at jade.core.Filter.filter(Filter.java:89)
        at jade.core.Filter.filter(Filter.java:90)
        at jade.core.Filter.filter(Filter.java:90)
        at
jade.core.CommandProcessor.processIncoming(CommandProcessor.java:229)
        at
jade.core.PlatformManagerImpl.issueNewSliceCommand(PlatformManagerImpl.java:744)
        at
jade.core.PlatformManagerImpl.localAddSlice(PlatformManagerImpl.java:445)
        at
jade.core.PlatformManagerImpl.localAddNode(PlatformManagerImpl.java:293)
        at jade.core.PlatformManagerImpl.addNode(PlatformManagerImpl.java:245)
        at
jade.imtp.leap.PlatformManagerSkel.executeCommand(PlatformManagerSkel.java:73)
        at jade.imtp.leap.Skeleton.processCommand(Skeleton.java:51)
        at
jade.imtp.leap.CommandDispatcher.handleCommand(CommandDispatcher.java:949)
        at jade.imtp.leap.JICP.JICPServer
$ConnectionHandler.run(JICPServer.java:439)
Jun 22, 2011 12:54:34 PM jade.core.PlatformManagerImpl$1 nodeAdded
INFO: --- Node <Container-1> ALIVE ---
Jun 22, 2011 12:54:34 PM
jade.core.nodeMonitoring.BlockingNodeFailureMonitor run
INFO: PING from node Container-1 exited with exception. Dispatcher error
[nested jade.imtp.leap.DispatcherException: DispatcherException in
remote site. No skeleton for object-id 3447152]
Jun 22, 2011 12:54:34 PM jade.core.PlatformManagerImpl$1 nodeUnreachable
WARNING: --- Node <Container-1> UNREACHABLE ---
Jun 22, 2011 12:54:34 PM jade.core.PlatformManagerImpl
removeTerminatedNode
INFO: --- Node <Container-1> TERMINATED ---
Jun 22, 2011 12:54:34 PM jade.core.messaging.MessagingService
clearCachedSlice
---------

In the other node I get the following:

--------
Jun 22, 2011 12:55:35 PM jade.core.AgentContainerImpl joinPlatform
SEVERE: Some problem occurred while joining agent platform.
jade.core.ServiceException: An error occurred during service booting
[nested java.lang.NullPointerException]
        at
jade.core.AgentContainerImpl.bootAllServices(AgentContainerImpl.java:465)
        at jade.core.AgentContainerImpl.startNode(AgentContainerImpl.java:408)
        at
jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:485)
        at jade.core.Runtime.createAgentContainer(Runtime.java:133)
        at BookBuyTest2.main(BookBuyTest2.java:25)
Exception in thread "main" java.lang.NullPointerException
        at BookBuyTest2.main(BookBuyTest2.java:35)
------

Any ideas about what I am doing wrong?

Thank you very much in advance,

Peter Coulton
  • 54,789
  • 12
  • 54
  • 72
  • I managed to solve the problem. It did not work because in the local-host parameter the value was localhost. I changed it to the External IP Address and it worked – Javier J. Salmeron Garcia Jun 22 '11 at 15:12
  • 1
    Hi Javier, you might think about writing up the solution you found if you think it might be helpful to others, or consider closing or removing the question. – Peter Coulton Jun 24 '11 at 00:20

2 Answers2

1

To me, this worked

String[] container = {
        "-gui",
        "-local-host 127.0.0.1",
        "-container",
        "Agent1:jogo.agents.Agent1;Agent2:jogo.agents.Agent2"   // <- Your custom agents
    };  
Boot.main(container);   
Rodrigo João Bertotti
  • 5,179
  • 2
  • 23
  • 34
1

The problem was that in the node I put:

local-host:127.0.0.1

This was solved by putting

local-host: <actual IP of the machine\> 
Christian Specht
  • 35,843
  • 15
  • 128
  • 182