Problem: Product Name: VisiBroker for C++ Product Version: 7.0 Product Component: Communication, QoS Platform/OS Version: All VisiBroker cannot guarantee the Server ORB can receive oneway method call when data has been written to client side socket successfully. The following scenarios may occurred: The server become unavailable during data transmission The connection is closed due to server connectionMaxIdle setting during data transmission The server is restarted during data transmission The client side will not receive any exception. The data will be lost and will not be redelivered even with Messaging::RebindPolicy is set to QoSExt::VB_TRANSPARENT. Resolution: By default, VisiBroker uses SYNC_WITH_TRANSPORT policy as per CORBA specification under the Messaging Quality of Service Synchronization Policy to deliver the oneway method call. Oneway method call is considered successfully as long as client write the data into client socket without any problem. The control is returned back to the client application immediately. The client needs to use SYNC_WITH_SERVER policy explicitly to ensure that the server ORB has received the one-way method call. The oneway call is considered successful only after the server-side ORB receives this call and send a notification back to client before invoking the servant. If an exception occurs at the server side, the VisiBroker client ORB may choose to rebind transparently to the next profile or propagate the exception to the client application.
↧