我已经使用linux中的tao的通知服务实现了一个bublish-subscriber-serverpair。有两个服务器E1和E2。E2已订阅了新闻类型,例如1,而E1已订阅了新类型2,例如2. E1发布了1型新闻,然后E2进行了一些计算,并发布了E1获得的新闻类型2的结果。这个周期继续。这些事件是cosnotification :: bustical venturedevent类型。问题是,该系统在服务器的两个终端执行后会提供大量错误消息。
tao(2723 | 1398170765312)-ServerRequest :: Tao_Send_reply_exception,无法发送异常回复
我是陶(以及科尔巴)的初学者,所以我不确定这个问题是否是因为线程。如果我在E1,E2或两侧使用以下svc.conf,则事件通信变得非常慢:
static server_strategy_factory" -orbconcurrency pert-per-connection"static Client_strategy_factory" -orbwaitStrategy RW -orbtransportMuxStrategy独家-orbconnectStrategy blocked -orbconnectionLandhandLeSlerCleanup 1"静态resource_factory" -orbflushingstrategy阻塞"
我从Tao的网站复制了上述选项,以每个连接具有一个线程,以为错误可能是由于达到线程限制而引起的。我也试图有 - e1和e2侧的命令行选项的orbconcurrency thread-connection。这会导致一些Corba远程无法启动服务器。以下是我正在运行系统的命令,该命令给出了serverrequest :: tao_send_reply_exception,无法发送异常回复一段时间后的消息:
tao_cosnaming -orbendpoint iiop:localhost:12345 -orbdaemon//开始名称服务tao_cosnotification -orbdebuglevel 10 -orbinitrefnameservice = corbaloc:iiop:localhost:12345/samevice -orbdaemon//开始通知服务./e1 corbaloc:iiop:localhost:12345/samevice//启动e1./e2 corbaloc:iiop:localhost:12345/samevice//启动e2
任何人都可以建议这里发生了什么以及如何解决这个问题?
某些零件在将CORBA调用的呼叫者的例外发送回去。那可能是运行的任何过程。尝试使用" -orbdebuglevel 10 -orbverboseLoging 2"添加到命令行中,您可以选择使用" -orblogfile foo.txt"将记录重定向到文件(为每个过程使用单独的文件名)。这应该告诉您更多,哪个过程有问题回复回复,以及有关原因的更多详细信息。