2

我在私有云中有两台虚拟机,我想同时执行 Jade。他们可以毫无问题地相互访问。我从一个主容器开始,另一个容器连接到主容器。但是,当此连接尝试发生时,我得到一个 Dispatcher 异常:

--------
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
---------

在另一个节点中,我得到以下信息:

--------
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)
------

关于我做错了什么的任何想法?

非常感谢您,

4

2 回答 2

1

问题是在我放置的节点中:

local-host:127.0.0.1

这是通过放置解决的

local-host: <actual IP of the machine\> 
于 2011-06-25T20:29:57.420 回答
1

对我来说,这行得通

String[] container = {
        "-gui",
        "-local-host 127.0.0.1",
        "-container",
        "Agent1:jogo.agents.Agent1;Agent2:jogo.agents.Agent2"   // <- Your custom agents
    };  
Boot.main(container);   
于 2018-06-01T19:10:28.310 回答