Borland® VisiBroker® 8.0 Documentation Updates

Last updated: September 29, 2008

This document contains updates to the VisiBroker 8.0 documentation issues.

For the latest version of this document, go to the Borland Documentation Web site at

Documentation Issues

License Manager (Overview.pdf, Page 7)

Starting from VisiBroker 8.0, Borland no longer supports network type licenses. Therefore, in Section "Using the License Manager" of vb_Overview.pdf (Overview), all reference to "network license" should be ignored.

Ignore the following paragraph in Chapter 2, Using the License Manager on page 7.

There are two types of Borland VisiBroker licenses:–

  • Node-locked licenses. These licenses are locked to the system on which they are applied and activated. You cannot copy these licenses to another system, and they cannot be accessed from a VisiBroker product running on another system. If you reinstall the software on the same system, you will need to reactivate the license.
  • Network licenses. These licenses require the use of a license server. VisiBroker supports the use of Belise (Borland's license server). Refer to the instructions in the email you receive from Borland for activating and using your network licenses.

Programmer Tools for Java: VBJ Options (VisiBroker for Java Developer's Guide; Page 29)

In VisiBroker for Java Guide, the following argument option has been missed out under "VBJ" section in "Programmer Tools for Java"

Argument Description

-VBJprop <name>=<value>

Passes the property name and value pair into the Java Virtual Machine as a System Property by adding it as a -D<name>[=<value>] parameter to the executed “java.”.

Corba Specification (VisiBroker for Java Developer's Guide)

In VisiBroker for Java Developer guides, reference to Corba 2.6 is incorrect.

All CORBA 2.6 reference needs to be changed to CORBA 3.0 with exception clause "excluding CCM and GIOP 1.3" under section Understanding the CORBA model and VisiBroker CORBA compliance in VisiBroker for Java Developer guide.

VisiBroker properties (VisiBroker for Java Developer's Guide/ VisiBroker for C++ Developer's Guide)

Some of these properties listed below in the table have been missed out in the VisiBroker Guides and the Release Notes. Yet some have not been updated in VisiBroker 8.0 documentation.

Smart Agent properties
Property Default Description
vbroker.agent.timer 300 secs Smart agent will wake up after this timeout and based on the vbroker.agent.threshold value, will compute whether to do other osagents verification. The logic is if the last received heart beat value is less than current time - (timer + threshold), then do osagents verification. The value of this property should be greater than 1 second and less than 300 seconds.

For example,
$ osagent -Dvbroker.agent.timer 60 -Dvbroker.agent.threshold 5

vbroker.agent.threshold 40 secs Please see documentation for vbroker.agent.timer. This value should be greater than 0.
VisiBroker ORB properties
Property Default Description
vbroker.orb.tcpTimeout 0 The default zero means no timeout is enabled. This property will associate a timeout with all socket-read at the client-side ORB. The specified timeout value is in milliseconds that is passed to setSoTimeout() in
Note: The setting of this property will disable the QoS relative roundtrip and request timeout policies.

This property is an ORB level property, so there is no way to obtain object level or thread level granularity unlike the QoS policies. If more than one CORBA requests are sent to the same connection by multiple threads concurrently, the actual time spent in reading data from socket may be greater than the timeout value set per invocation.
Note:This property is deprecated due to the limitation of the design that set the value at the socket read level. It is not compliant to OMG CORBA Messaging specification. For more information, refer to the QoS relative roundtrip and request properties or policies which are well implemented and more accurate. This property only applies to VisiBroker for Java product.
vbroker.orb.firewallInit false If this property is set to true, and if the IOR has both IIOP and TCP type Firewall components, then if any one of the end points fail, fail-over can occur.
Note: vbroker.orb.alwaysProxy=true or programmatically configured Firewall proxy will take precedence. This holds good only for Visibroker for C++.
vbroker.orb.mtmPerCall true If true, any thread calling ORB::perform_work() can performs the request. If false, the thread that calls ORB::perform_work() the first time becomes the "main thread" throughtout the lifetime of the ORB. The call to ORB::perform_work() from a thread other than the "main thread" does nothing. This holds good for both VisiBroker for C++ and Java developer's guide.
vbroker.orb.rebindForward 0 (zero) This property is applicable in both VisiBroker for C++ and Java developer's guide. This value determines the number of times a client will try to connect to a forwarded target. You can use this property when the client cannot communicate with the forwarded target (because of network failure, for example). The default value of 0 (zero) means that the client will keep trying to connect.
It determines if the ORB should rebind in the case of a failure to connect during a LOCATION_FORWARD. When the client is forwarded to a new object, an attempt is made to connect to the new (destination) object. If this attempt ends in failure, the ORB transparently connects back to the original object (the source of the forward). This rebind to the source object occurs only if two conditions are fulfilled. The first is that the total number of forwards at this point (without a normal response punctuating them) should not have exceeded the count specified in this property.
The second condition is that this failure should not be the second consecutive attempt to connect to the same destination object ending in failure. This prevents the ORB from getting trapped in a loop when a load balancer object repeatedly forwards to the same non-existent object.
Server-side thread pool IIOP_TP/IIOP_TP connection properties
Property Default Description false In VisiBroker for C++, setting this property to true will allow the thread pool dispatcher to create an unlimited number of threads when the property is set to 0. By default, the ORB will utilized internal heuristics calculation to determine the need of creating new thread.
VisiNaming properties
Property Default Description, false Causes the Naming Service to discard incoming requests while its starting up. Though the property form is generic, it should only be used with Naming Service. Use with any other service or application can cause unknown behaviour.
This property only works when:
  1. Listener port is set.
  2. Listener port range is not specified.
JDBC Adapter properties
Property Default Description
vbroker.naming.resolveAutoCommit true Sets Auto Commit on the JDBC connection when doing a "resolve" operation.
When this property is set to "false", the resolve operation will use the same "transaction" pattern as that is used in other similar methods like bind, rebind and etc. If set it to "true", there will be better performance for the "resolve" operation.
For VisiNaming using JDS HA failover configuration, set this property to "false".
Security Properties for C++

This property is found in VisiBroker 6.5 release notes but has not been updated in VisiBroker 8.0 Security Guide:

Property Default Description n/a This is used to specify the location of Certificate Rovocation List (CRL).

VisSecure for C++ APIs (Security Guide, Page 93)

In the VisiSecure Guide, under the chapter 'VisSecure for C++ APIs', under the section 'General API', 'class vbsec::Current' the sentence "Some calls are relevant only in an request execution context." is incorrect. The sentence should read as ""All the calls are relevant only in the context of a method invocation." See the updated API document on, Interface 'Current'.

VisiBroker for .NET license key (VisiBroker for .NET Developer's Guide, Page 34)

In the VisiBroker for .Net Developer's Guide, under chapter ' Building and deploying VisiBroker for .NET applications', under section 'Deploying VisiBroker for .NET applications' under VisiBroker for .NET deployment license key, it states that the VisiBroker for .NET license key is on the VisiBroker deployment CD-ROM in the License Directory. But, for VisiBroker for .NET 8.0, it is not possible to get the client.slip file directly from the CD. Instead the client.slip file is written as part of the installation, therefore, go to <visi-install-dir>\VisiNet\client.slip to copy the license file.

.NET runtime libraries (VisiBroker for .NET Developer's Guide, Page 34)

In the VisiBroker for .Net Developer's Guide, under chapter ' Building and deploying VisiBroker for .NET applications', under section ' Deploying VisiBroker for .NET applications' under VisiBroker for .NET runtime libraries, it states that:
For deployment, VisiBroker for .NET supports client applications on the front end or ASP.NET server applications. You must install the following VisiBroker for .NET runtime libraries on each machine that runs the VisiBroker for .NET-powered applications:
  • Borland.Janeva.Runtime.dll
  • Borland.Janeva.Runtime.Private.dll
  • Borland.Janeva.NTD.dll
  • Borland.BC.Bootstrap.dll
  • Borland.BC.Rt.Core.dll
  • Borland.BC.Jre.dll

Borland.Janeva.NTD.dll is no longer in use and therefore has to be ignored.

Janeva 6.5 to VisiBroker for .Net (VisiBroker for .NET Developer's Guide)

This issue has not been documented previously. Therefore we recommend you to note that prior to VisiBroker for .Net 7.0, J# reflection was used to instantiate the class type. In version 7.0 onwards, VisiBroker for .NET runtime is now independent from either Microsoft J# or the SUN JDK. It is now completely in .NET MSIL. Therefore, the default access control for class default constructor may not work as before. If class SampleServerLoader is not explicitly declared using the keyword "public" in order for .NET runtime to access, then an exception is raised and you cannot possibly access the default constructor.

.Net Framework Support (VisiBroker for .NET Developer's Guide)

Currently, the VisiBroker for .Net Developer's Guide and ReadMe for VisiNet still uses the Janeva 6.5. Janeva has been renamed as "VisiNet". As VisiNet doesn't depend on Visual J, all the related part must be ignored.

VisiBroker for .NET is a .NET product. As such, it requires the .NET Framework for execution, which is available as a free download from Microsoft. For the .net framework support, VisiNet supports Microsoft .NET Framework 3.0

Osagent Maximum Log Size (VisiBroker for C++ Developer's Guide and VisiBroker for Java Developer's Guide)

There is a documentation error with regard to osagent max log size.

In the VisiBroker C++ and VBJ Developer's Guide, under the Chapter ' Using the Smart Agent' under the section 'Starting a Smart Agent (osagent)', The max value for Osagent is documented as 300M. However, the actual value is 512 MB.

CORBA ORB methods (VisiBroker for C++ API Reference, Page 17)

C++ API Reference Guide needs the following below to be added in the ORB methods under the section 'ORB' under ' Core interfaces and Classes'.

void register_initial_references (const char * identifier, CORBA::Object_ptr obj);

This method registers the name to its corresponding implementation object. The corresponding object id could now be resolved via corbaloc URL. An "InvalidName" exception is raised if the identifier is empty or is already registered.
Parameter Description
Identifier The name of the service by which the initial reference will be known.
obj Non-null object reference

Getting Help

For technical support, contact the Borland Support Center at Before contacting support, you may want to consult the Borland Support Center Borland Answers at

Copyright © 2008 Borland Software Corporation. All Borland brand and product names are trademarks or registered trademarks of Borland Software Corporation in the United States and other countries. All other marks are the property of their respective owners.