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 

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