Release Notes ObjectSpace Voyager 3.1.1 This document contains last-minute release notes for the Voyager product line. Release Notes for Version 3.1.1 ====================================================================== Voyager ORB / ORB Professional Notes ====================================================================== - DXML In a simple And expression, setting one element would null out the other element. This has been corrected. In a simple Or expression, if an element is set, DXML does not automatically null out the other element, although it is required for consistency. This is now the user's responsibility. Examples have been modified to work with XML4J 2.0.13 - VoyagerDB An old version of VoyagerDB was shipped with Voyager 3.1. The correct version is in 3.1.1. - Messaging Subspace proxies were not being purged causing some multicast messages to be received more than once. This has been fixed. - Mobility Voyager ORBs created in the same VM can cause problems with Mobility. In particular, creating and moving a mobile object, shutting down Voyager, restarting Voyager, then creating and moving another mobile object can cause a ClassCastException. - Connections Voyager's caching of connections did not take into account short-lived or transient destinations. Voyager now attempts to recreate a connection if the cached connection fails. - User Guides The V3.1 addenda have been consolidated with the V3.0 user guides. Revisions were made to the Dynamic XML chapter of the "ORB User Guide". ====================================================================== Voyager Application Server Notes ====================================================================== - User Guides The V3.1 addendum has been consolidated with the V3.0 user guide. Various revisions were made to the "Application Server QuickStart Guide", which was introduced in V3.1. Under certain conditions, activating an entity bean would cause a cyclical invocation to occur. This has been fixed. /////////////////////////////////////////////////////////////////////// Release Notes for Version 3.1 ====================================================================== Voyager ORB / ORB Professional Notes ====================================================================== - JDK Versions If you are running Solaris, you must use JDK 1.1.7 or better to avoid a threading issue caused by earlier JDK versions not using native threads. - Applets We have experienced problems in testing with Internet Explorer. These problems may be related to the particular build of the Microsoft VM. If you encounter problems with applets, please ensure you have the latest Microsoft Java runtime, available for free from the Microsoft website. - Voyager Management Console Modifying the configuration of bean methods for a server profile installed in a server cluster does not propagate changes to the other server profiles in the cluster. You must instead make the changes to each server profile's EJB node. - JDK 1.2 Security Issues Certain examples, including the RMI examples, sometimes fail in JDK 1.2. To workaround this simply add the following entry to your "java.policy" file: grant codeBase "file:/where/my/code/is/" { permission java.security.AllPermission; }; where "/where/my/code/is/" is the classpath of the code that is failing. Also, "java.security.AllPermission" may be replaced with whatever is appropriate for your program. You can also use the "policytool" utility to create and modify permissions. The "policytool" utility is located in the bin directory of the JDK 1.2 distribution. - Troubleshooting Voyager Applications When running into exceptions, we highly recommend running voyager with the -l exceptions command or setting the console manually by saying Console.setLogLevel(Console.EXCEPTIONS). Console is in the com.objectspace.lib.util package. - Voyager Directory Server Entries When adding items to a Voyager Directory Server, note that the name of each entry must be greater than one character long. In addition, it is invalid to add an entry that begins with a forward slash "/". For example: context.bind( "ab/cd", object ); // valid context.bind( "a/c", object ); // invalid context.bind( "/ab/cd", object ); // invalid - CORBA Passing union objects between Voyager and Visibroker fails. Passing unions from Voyager to Voyager works correctly, or between Voyager and Orbix. - DCOM On installation, the VoyagerBridge* files will be installed in the bin/ directory for Unix systems as well as for Windows systems. These files cannot be used in a Unix environment. You may remove them from any Unix installations. However, they are required on Windows systems if you are using Voyager's DCOM support. Please refer to the ORB Developer Guide Addendum's DCOM chapter for complete details. ====================================================================== Voyager Security Notes ====================================================================== - None at this time ====================================================================== Voyager Transactions Notes ====================================================================== - Transaction Service Logs Voyager Transactions creates a file named __VTS1LOG to hold the transaction log. Do not delete this file while the ORB is active, and then only if you are sure the contents are no longer needed. Also, don't run two Voyager ORBs with transactions in the same directory as their log files will collide possibly causing failures. The files transadm.log and transbak.log are also created by Voyager Transactions. They contain non-critical statistical information. They may be deleted without harm, however the Administration Console will report different statistics as a result. ====================================================================== Voyager Application Server Notes ====================================================================== - EJB Portability Concerns Voyager Application Server generated jar files are not immediately portable to other application servers. This is due to limitations of the 1.0 AccessControlEntry and ControlDescriptor classes which hamper the evolution of bean classes. These classes have been replaced with more flexible subclasses. Jar files created in other application servers can be read into Voyager Application Server without problems. - EntityBean Clients Entity beans cannot be accessed from anything other than a Voyager client (i.e., they cannot be accessed by RMI, CORBA or light clients). Typically, since entity beans are lower granularity objects than session beans, a session bean will be used as an intermediary for greater network performance. Any client supported by Voyager can access a session bean.