Borland VisiBroker 7.0 Release Notes

  1. Solaris 32/ 64-bit on SPARC and x64 (64-bit Xeon and Opteron)
  2. HP-UX 32/ 64-bit on PA-RISC (classical and standard C++) and Intel Itanium (only standard C++)
  3. Windows on x86 and x64 (64-bit Xeon and Opteron)
  4. AIX 32/64-bit on PPC (classical and standard C++) 
  5. RedHat Enterprise Linux 4.0 on x86, x64 (64-bit Xeon and Opteron),  ia64 (64-bit Intel Itanium) and P5 (64-bit Power5)
  6. SuSE Enterprise Linux 9.0 on x86, x64 (64-bit Xeon and Opteron), s390 (31-bit) and zSeries (64-bit s390x)
  7. Monta Vista Linux CGE 4.0 on EM64Ts and Cross Development on RedHat Enterprise Linux 3.0
This release note contains information specific to the Borland VisiBroker 7.0 release. This is a major release of the VisiBroker product suite that includes a value-added feature set and also addresses most of the customer-reported problems.

Please note that "Borland Enterprise Server, VisiBroker Edition" has been renamed to, "Borland VisiBroker". The official name of the current release is, "Borland VisiBroker 7.0".

This release note contains the following sections:


New Features in VisiBroker

VisiBroker for C++

Enabling Web Service support

Pluggable Transport Interface

RT CORBA Features

Improved Logging

New and improved examples

Value added enhancements

VisiBroker for Java

Enabling Web Services Support

Improved Logging

New and improved examples

64-bit JDK support

VisiBroker Naming service (VisiNaming)

Out-of-the-box integration with the JDataStore High Availability feature

VisiBroker Transaction service (VisiTransact)

POA managed transactions (PMT)

VisiBroker Security service (VisiSecure)

New and improved examples

Other enhancements 

64-bit JDK support

VisiBroker Notification service (VisiNotify)

Threadpool for Proxy Push Supplier

Event-related counters

VisiBroker for .NET

Janeva re-named to VisiBroker for .NET

Visual Studio 2005 support and .NET 2.0 

Removal of J# dependency

Licensing


Platform and code set information

For VisiBroker platform information, go to: http://support.borland.com/kbcategory.jspa?categoryID=395

VisiBroker for C++

Code set support for VisiBroker for C++

Visual Studio for .NET 2005 with Hot Fix (KBR 915418)

Windows Side By Side (SxS) Assemblies

VisiBroker Services on Platforms supporting both Classical and Standard C++

Thread library used on Solaris

VisiBroker for Java


Installation Changes

VisiBroker for C++

Web Service support

Pluggable Transport Interface

VisiBroker for Java

Web Service support

VisiBroker for .NET

VisiBroker Transaction service (VisiTransact)

VisiSecure for Java


Behavior Changes

VisiBroker for C++

VisiBroker for Java

VisiBroker Transaction service (VisiTransact)

  1. The transactional application uses in-proc OTS.
  2. The POA is not created with OTS policy, but the object on that POA is inherited from CosTransactions::TransactionalObject.
  3. The application uses NonTxTargetPolicy on the client side.
  4. The application uses the SessionManager.
  5. The VisiTransact OTS server is used by VBJ Java clients and VBJ Servers.

VisiBroker Security service (VisiSecure)

Host Login Module


Compatibility notes

VisiBroker for C++

VisiBroker for .NET

VisiBroker Notification service (VisiNotify)

VisiBroker Transaction service (VisiTransact)

  1. The transactional application uses in-proc OTS.
  2. The POA is not created with OTS policy, but the object on that POA is inherited from CosTransactions::TransactionalObject.
  3. The application uses NonTxTargetPolicy on the client side.
  4. The application uses the SessionManager.
  5. The VisiTransact OTS server is used by VBJ Java clients and VBJ Servers. For more information see the next point.

Tools update

VisiBroker for C++

VisiBroker for Java


Properties update

VisiBroker for C++

Property Default Description
vbroker.agent.keepAliveTimer 120 secs Smart Agent property. Smart agent will wake up after this timeout and based on the vbroker.agent.keepAliveThreshold value, will compute whether to do client verification. The logic is if the last received heart beat value is less than current time - (keepAliveTimer + keepAliveThreshold), then do client verification. The value of this property should be greater than 1 second and less than 120 seconds. The number of times client verification is tried can be controlled by vbroker.agent.maxRetries property.
vbroker.agent.keepAliveThreshold 40 secs Smart Agent property. Please see documentation for vbroker.agent.keepAliveTimer. This value should be greater than 0.
vbroker.agent.maxRetries 4 times Smart Agent property. The number of times the agent will perform client verification on not receiving a heart beat from the client. Values can be 1 to 10.
vbroker.qos.defaultRRTTimeout 0 milli-secs Sets the default value of relative round trip request timeout. Default 0 means no timeout.
vbroker.qos.defaultRRQTimeout 0 milli-secs Sets the default value of relative request timeout. Default 0 means no timeout.
vbroker.qos.defaultConnectTimeout 0 milli-secs Sets the default value of connection timeout. Default 0 means no timeout.
vbroker.orb.sendLocate false Set this property to true to send a GIOP Locate request on binding to verify it is a GIOP server.
vbroker.se.xxx.scm.yyy.dispatcher.unlimitedConcurrency false Setting this property to true will allow the thread pool dispatcher to create an unlimited number of threads when the property vbroker.se.xxx.scm.yyy.dispatcher.threadMax is set to 0.
vbroker.typecode.marshalName true Marshalling of names inside typecode data can now be suppressed by replacing those with empty strings, as the OMG spec allows. This will save network bandwidth by reducing the length of GIOP messages. However, the API functions relying on this data will not function correctly when compression is used. By default the compression is not done. To enable, set this property to false.
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.
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.

VisiBroker for Java

Property Default Description
vbroker.naming.resolveAutoCommit true Sets Auto Commit on the JDBC connection when doing a "resolve" operation. 
vbroker.poa.manager.threadMin 0 Controls the minimum number of threads in the auxiliary thread pool used in POA (e.g. for etherealization of objects)
vbroker.poa.manager.threadMax 0 Controls the maximum number of threads in the auxiliary thread pool used in POA
vbroker.poa.manager.threadMaxIdle 300 (secs) Controls the idle timeout for threads in the auxiliary thread pool used in POA

VisiBroker Notification service (VisiNotify)

Property Default Description
vbroker.notify.threadPool.threadMax 0 Sets the maximum number of threads in the thread pool. 0 indicates unlimited number of threads.
vbroker.notify.threadPool.threadMin 0 Sets the minimum number of threads in the thread pool.
vbroker.notify.threadPool.threadMaxIdle 300 Sets the timeout value for an idle thread.

VisiBroker Transaction service (VisiTransact)

Property Default Description
vbroker.its.its6xmode  false Allows usage of discontinued Session Manager functionality. Some other backward behavior is also enabled. Please refer to the Server Application Model properties section for more information.
vbroker.its.xadesc itsxadesc.xml Specifies the XA-resource configuration file using this property

 


Late Breaking and Known issues in this release

VisiBroker for C++

Web services support issues

Object Request Broker

Operating System RTCORBA::Priority range Native Priority range
Solaris 0 - 31 10 - 41
AIX 0 - 31 28 - 59
HP-UX 0 - 31 0 - 31
Linux 0 - 31 30 - 61

VisiBroker for Java

Web services support issues

Object Request Broker

Request Agent

VisiSecure for C++

Issue on Windows and AIX

Host Login Module

Securing CORBA service executables on HP-UX and AIX platforms

VisiBroker Transaction service (VisiTransact)

VisiBroker for .NET

VisiBroker Console and License Admin (lmadm)

Installer Documentation


Bugs fixed in this release

Service Pack Information

The last merged VBE Service Pack was VBE 6.5 P8.

VisiBroker for C++, VisiTransact, VisiNotify and VisiTelcoLog

Change Request Description Comments
6575  VB6.5 Timeout issues  
6095 C++ client always trying connect to virtual socket Need to set property vbroker.orb.firewallInit=true
1071 [HV50494] Client can't be connected to Server which started newly. Need to set property vbroker.orb.sendLocate=true
2560  [HV50572] The 'bank_dynamic' example cant be executed  
4426  [HV50409] ConnInfo not available within the context of a request invocation  
4427 [HV50510] Does the EventChannelFactory supported in C++?   
3975 [HV50666] The BAD_INV_ORDER exception is thrown at POA::destroy(), illegally  
988  property to set send and receive timeout  
1478 Is there any case raised InvalidPolicy or CORBA:NO_PERMISSION  
2813 [HV50606] The same problem as case:570660 isoccurredd on C++  
1426 Server hang on invoking a corba object from within destructor of a servant  
3055 postinvoke_premarshal() method isn't called with SYNC_WITH_SERVER   
3560 [HV50634] The BAD_PARAM exception isn't raised on set_policy_overrides   
4422 [HV50708] Memory leak has occurredd in ServerRequest::set_exception().   
4306 [HV50688] The factory of ValueBox is memory-leaked   
1506 [HV50545] The perform_work() called by several threads   
943 Compilation error in vtcimp.h - "VISRMutex" may be undeclared or ambiguous   
976 Poll error when setting a large value for garbageCollectTimer  
1106 Memory leak when osagent is not running  
1296 VBE: ORB Shutdown does not terminate server  
4308 [HV50690] The ValueBox is memory-leaked with '>>' operators of var types  
4270 [HV50685] The inout argument of ValueBox is memory-leak   
3599 [HV50637] Policies can't be added to an Object  
4122 [HV50676] The 'vbroker.ir.ior' option is not effective  
2811 [HV50603] DynEnum::set_as_ulong() with invalid value isn't thrown the exception  
4158  [HV50679] Memory leak occurs in Any::value()  
4706 OTS.exe restarting on user logout  
2091 VBE vshutdown works only if osagent is used with OTS  
3249 VB6 Borland Transaction Manager - Questions
Transaction logging information does not contain useful information for the end user.
 
2832 [HV50609] The query is regarding the 'null string' property  
3356 VBC support of valuebase incomplete  
2579 The servant manager is called before receive_request_service_contexts  
4362 There is a logical error in how VisiNotify evaluates filters when applied to proxy consumers in combination with a consumer object that is created with the OR semantic  
2740 OTS props need good docs  
935 OTS Service will not start if osagent is not running  
2059 Releasing connection object after transaction committed will make server core dump and got the unexpected exception  
990 Minor code from CORBA::TIMEOUT exception should distinguish between conn_timeout, req_timeout or rt_timeout See the qos timeout example
3964 Compiling idl2cpp created C-file results in Overloading ambiguity error  
6165 6165: A constant increase in memory consumption has been observed when reinitializing ORB and activating a CORBA object on the root POA multiple times in a row.  
1131 Memory growth in OTS  

VisiBroker for Java, VisiNaming

Change Request
Description
Comments
1096 The example code for C++ and Java examples under $VBROKERDIR/examples/vbe/basic/bank_naming is inconsistent  
1413 [HV50538] The TypeCode marshalling of Java byte[] is wrong.  
1574 Omission of cast for performance improvement  
2412 [HV50431] The servant manager is called before receive_request_service  
2511 [HV50582] Stub code is hard to see.  
2592 [HV50583] Compile error occurs in java2iiop -compile.  
2609 [HV50594] Server can hang when using ServantActivator.   
2702 [HV50443] all_replica() and all_replica_descs() does not work correctly  
2703 [HV50595] IORInfo.state() returns an invalid value..  
2705 CPU 100% loop can occur under the memory shortage situation  
2814 [HV50608] The same problem as case:571090 has occurred for Java. (related to CR 2729)  
2837 [HV50604] Hang can occur in the client side.  
2879 [HV50612] An irep client cannot obtain the reference of irep.  
2880 [HV50613] Irep cannot be started for fatal error.  
2881 [HV50610] VBROKER_ADM/agentaddr file is not effective.  
2883 Bi-dir callback call hangs forever in server if client goes down  
3688 [HV50636] Server cannot be started when using ServantLocator.  
3692 [HV50639] Hang occurs in using GIOP framgent message.  
3788 [HV50642] Regarding threadMaxIdle of ThreadPool.  
3886 [HV50645] MARSHAL exception occurs when sending nested object.  
3890 Fail authentication when use remote JDataStore as backing store of Namin Service due to if jdsSvrPort > 0, it DO NOT pass userid, password to connection setup.  
3917 [HV50655] Regarding the description of ORBManager in Programmers reference  
3931 [HV50656] Regarding the unsupported options in the Programmer's Reference  
3934 [HV50640] Client can hang by an invalid server operation.  
3966 [HV50665] PortableInterceptor method is not called in a certain case.  
3991 Memory leak   
4013 [HV50670] OBJ_ADAPTER cannot be raised when using IORInterceptor  
4029 [HV50661] Client hangs when a Worker Thread cannot be created  
4125 [HV50678] BadKind exception - org.omg.CORBA.Any.insert_Value() for null  
4258 [HV50686] BAD_INV_ORDER is not thrown in establish_components().  
4524 Doing RIR("RootPOA) requires license  
4530 VisiBroker warnings when building Jbuilder project  
6373 Java2IIOP generates wrong code for AliasManagerPOA.java  
6091 java.lang.Error: Invalid business method: is thrown when a local interface redeclares inherited methods  
4623 enhancement to nsutil and a new unbind_from_cluster API in CosNaming::NamingContextExt IDL. Vantive Number 36631

VisiBroker for .NET

Change Request
Description
Comments
1511 / 1519 QuoteCaoExplicitCallbackClient example does not work with shared\Java\Quite example  

VisiSecure for Java and C++

Change Request
Description
Comments
2696 [enhancement]allow cpp user to use SSL without CSIV2.  
3460 Gatekeeper wallet properties are incorrectly used  
4135 Password set to " or null for using non-encrypted private key  
4344 certificate wallet, alias should be all small letters. This should be documented  
6084 How do we get an SSL connection to take the hostname specified by vbroker.ce.iiop.host  
6098 Excessive memory usage when using SSL  
6321 Endless retry problem when the handshake fails and timeout is set