HomeSitemapSearchDownload


Products
Successes
Developer info

News
About WebLogic

Tech infoOverviewGetting startedDocumentationCustomer Support

Release notes (Release 3)

Release 3.0.5 -- 6/04/98
Release 3.0.4 -- 4/27/98
Release 3.0.3 -- 3/24/98
Release 3.0.2 -- 3/13/98
Release 3.0.1 -- 3/10/98
Release 3.0 (Final) -- 1/29/98
Changes from 2.5 to 3.0 (beta 7)
New Tengah features in Release 3.0

Release notes 3.0.5 -- 6/04/98

General changes

Fixed a verifier error caused by compilation against some out-of-date Java classes.

Security

Updated demo certificates are included with this release. If you previously instructed your browser to trust the WebLogic Demo CA, you may have to delete the certificate entry and repeat the steps for trusting a certificate authority (CA).

Netscape will ask you whether to trust a not-yet-configured CA.

To make MSIE trust a CA, add entries analogous to these in your weblogic.properties file:

weblogic.httpd.register.installCA=weblogic.servlet.FileServlet 
weblogic.httpd.initArgs.installCA=\ 
       dochome=c:/weblogic/dev/myserver,\ 
       extensions=der=application/x-x509-ca-cert
start the Tengah Server, and point MSIE to http://localhost:7001/installCA/ca.der.

For more information on security, see the Developers Guide Using Tengah SSL.

Changes in jdbcKona

In jdbcKona/Oracle, jdbcKona/Sybase, and jdbcKona/MSSQLServer, fixed bug that caused the method getBigDecimal() to return an unrounded value, even though the underlying implementation was rounding.

Added support for Driver.acceptsURL() for all drivers, including jdbcKona and Tengah JDBC.

The method ResultSet.getObject() in the multitier Tengah JDBC driver will now return a numeric Java object for all numeric types.

In all the jdbcKona drivers, added bulletproofing to make sure that all PreparedStatement.setXXX() methods handle null input gracefully.

Made ResultSet.getBoolean() return false for null data in jdbcKona/Oracle.

Added workaround for a Sybase "fatal" error 2409 that is thrown when the character set associated with a client is not installed or available when the client logs in. Formerly jdbcKona/Sybase was throwing an Exception and not returning a Connection object, even though the Connection could have been useable. Now jdbcKona/Sybase catches the exception and allows the Connection to continue. Users interested in whether a 2409 error has occurred can use the Connection.getWarnings() method to get to this information.

Made some adjustments in Tengah JDBC serialization to correct internal returns for calls to java.sql.Time (instead of java.util.Time) and java.sql.Date.

Fixed bug in Tengah JDBC that was returning a byte instead of a short (smallint).

Changes in dbKona

Added check to make sure that the underlying JDBC Statement is closed if there is an error during a save operation.

Release notes 3.0.4 -- 4/27/98

Note: If you are using jdbcKona/Oracle on HPUX, note that there has been a directory name change in the installation kit to accommodate support for two versions of HPUX. You will need to change the current target for LD_LIBRARY_PATH to point to either weblogic/lib/hpux10 or weblogic/lib/hpux11.

General Tengah Server changes

Fixed a problem related to HTTP proxying from an HTTP/1.1 client to an HTTP/1.0 server, so that the forwarded headers from a 1.1 client are readable by an HTTP/1.0 server, specifically for HTTP/1.1 features like chunked transfer-encoding that a 1.0 server does not handle.

Tengah Console (docs)

Made a modification to accommodate a bug in java.awt.GridBagLayout that was causing memory problems in the Console.

Fixed a timing problem that was preventing garbage collection for displays with strip charts.

Tengah Enterprise JavaBeans (docs)

Fixed some problems with makefiles for the tutorial code examples.

Fixed problems in RemoteCreator and FactoryCreator, the convenience utilities provided to introspect a bean and automagically create necessary remote and factory interfaces for it. The package name of these automagically created classes must still be verified by a human; the utilities now add a comment to the generated files to remind the human to check the beans' package name.

Fixed an error in the weblogic.properties file that was the indirect cause of security exceptions with EJBeans. If you are using an older properties file, be sure that the entry for the "tradingPool" connection pool, used for an EJB example, looks like this:
weblogic.jdbc.connectionPool.tradingPool=\
       url=jdbc:weblogic:oracle,\
       driver=weblogic.jdbc.oci.Driver,\
       loginDelaySecs=1,\
       initialCapacity=1,\
       maxCapacity=10,\
       capacityIncrement=2,\
       props=user=SCOTT;password=tiger;server=demo
weblogic.allow.reserve.weblogic.jdbc.connectionPool.tradingPool=guest
The line "props=user=SCOTT;password=tiger;server=demo" should not have a trailing comma-backslash (,\).

Made the EJB compiler add a target jar file to its classpath without an explicit "-classpath" compiler flag.

Fixed a problem with the deployment server that was properly sets the classloader for a deployment descriptor.

Fixed a typo in the bank tutorial deployment descriptor that was affecting container-mananged persistence.

Tengah Events (docs)

Fixed a bug that was causing a NPE when an application that used an embedded client caused subtopics to be deleted from the topic tree.

Tengah JDBC (docs)

Pool connections now cleaned up more politely for reuse.

Changed the way nested exceptions are serialized so that they are now treated as an exception instead of a more generic object. This affects JDBC drivers that throw exceptions that subclass SQLException and SQLWarning. In particular, this fixes a problem caused when a subclass of SQLException or SQLWarning doesn't have a public null constructor, which is required for serialization of generic objects.

jdbcKona/Oracle (docs)

Support to print out better database metadata information from system tables (that is appended to information that was previously provided) when the getTables() and getColumns methods are called.

Fixed bug that was allowing duplicate rows in the getTables() and getColumns() database metadata methods.

Fixed problem with precision loss in the conversion from BigDecimal to double.

jdbcKona/Sybase and MSSQLServer (docs)

Fixed obscure problem in the Sybase and MS SQL Server jdbcKona drivers that caused a very long batch update (more than 250,000 bytes) to be cancelled before completion if the latency time was excessive.

In jdbcKona/Sybase, added support for READ_UNCOMMITTED to Sybase isolation levels (at isolation level 0, permit dirty reads).

Top of the page

Release notes 3.0.3 -- 3/24/98

General Server changes

Fixed bug that prevented HTTP tunneling from working for applets in Netscape in 3.0.1, due to an indiosycrasy of that browser (dating back to Mosaic days) that breaks a keepalive connection incorrectly. The symptoms are that serialization gets cryptic IO errors.

Fixed problems related to access control in Workspaces. The various symptoms were:
  • A stack trace appeared on the server following a T3Client disconnect unless the default ACL gave "everyone" write permission on Workspaces. This was caused by an incorrect reporting of the current user destroying the Workspace, which might have been noticed in a Workspace destroy monitor.
  • With HTTP/IIOP tunneling, the Workspace was created dynamically with an incorrect ACL, which prevented an application using tunneling from creating Workspaces for multiple users with exclusive access privileges.

Tengah Enterprise JavaBeans (docs)
Fixed a problem that caused some classes from a .jar file to be loaded incorrectly.

Tengah RMI (docs)
Fixed a problem that was preventing success of a call to Naming.lookup() in applets.

jdbcKona/Oracle (docs)
Fixed a problem related to Oracle's inability to convert a string representation of a datatype double (when in scientific notation) to a Java type BigDecimal.

dbKona (docs)
Added protection for input values of type Double from being demoted to a Float.

htmlKona (docs)
Fixed a problem with the expiration date of browser cookies in Microsoft IE 4.0.

Top of the page

Release notes 3.0.2 -- 3/13/98

General Server changes

Fixed bug that made Server startup on a standalone (disconnected) machine take a long time, due to unnecessary attempts at DNS lookup that were failing.

Fixed bug that prevented proper cleanup of connections after an error. The symptoms are an unexpected disconnect of a client from the Tengah Server after an error (for example, a serialization error).

Fixed bug that prevented proper serialization of exceptions with no null-constructors.

Fixed a serialization-related performance problem due to unnecessary resets of the object output stream.

Top of the page

Release notes 3.0.1 -- 3/10/98

Tengah Console (docs)
Fixed display-related bugs:
  • Cyclic references would display new instead of changing focus to existing object.
  • In replace mode, a bug that caused an exception when another object was added, after all tabs had been deleted.
  • Problem when property values changed from long strings to shorter strings.
  • Problem with the JDBC connection pool count.
  • Exception when Console subsystem object was deleted and re-added.
  • Exception when last tab in the tab folder was deleted.
  • Conflation of fully-qualified classnames and object instances names in display headers.
  • Problem with deadlock in replace mode.
  • Solaris problem with popup menu on property values.

Tengah RMI (docs)

This release requires that you recompile and run rmic against all of your RMI classes. We recommend that you delete the compiled stubs and skeleton files from your classes directory first, to insure that all of your RMI classes are recompiled.

Added funtionality to LocateRegistry.getRegistry() so that you can use any Tengah URL to set scheme, host, and port for the Tengah registry you want to connect to, for example:
  LocateRegistry.getRegistry("t3s://localhost:7002");
to use a Tengah registry on the local host with standard Tengah SSL protocol.

Support notes: When using RMI with applets, use getCodeBase().getHost() to set the CODEBASE, rather than getDocumentBase().getHost(), which will trigger an Exception.

Also, it is unnecessary to set a SecurityManager in Tengah RMI. If you do have code that sets a SecurityManager, you should make it conditional on whether one has already been set, since you can set only one. For example:

  if (System.getSecurityManager() == null)
    System.setSecurityManager(new RmiSecurityManager());

Tengah EJB (docs)

Upgraded compliance to the EJB 0.8 spec.

Tengah JNDI (docs)

Upgraded compliance to the latest version of the JNDI specification (1.1).

Renamed T3InitialContextFactory to TengahInitialContextFactory. The former class has been deprecated. We recommend that you upgrade your code immediately. This requires a code change and recompile.

Deprecated JndiConstants in favor of the Environment class, which provides a set of type-checking methods that use the constants provided by javax.naming.Context. Use the Environment class to set properties in the Hashtable passed to the method that return an initial context.

Introduced a new class, TengahContext, with constants specific to Tengah's JNDI implementation. You can cast a Context to this class to use its Tengah-specific methods; "newing" an InitialContext creates a Context wrapped with (TengahContext) by calling one of the weblogic.jndi.TengahInitialContextFactory.newInstance() methods returns an instance of the TengahContext wrapper class. The method weblogic.jndi.TengahInitialContextFactory.getInitialContext, returns a non-wrapped, non-Tengah-specific Context.

New static methods (newInstance()) in weblogic.jndi.TengahInitialContextFactory now allows a convenient way to get a context without creating an environment and setting the initial context factory property. Instead of this:
  Hashtable env = new Hashtable();
  env.put(Context.INITIAL_CONTEXT_FACTORY, 
          "weblogic.jndi.TengahInitialContextFactory");
  Context ctx = new InitialContext(env);
You can write simply:
  Context ctx = TengahIntialContextFactory.newInstance();

Tengah Events (docs)

Fixed a bug so that a class receiving Connection events with the T3User name as a parameter receives the correct name; formerly, the name was consistently using "guest".

dbKona (docs)

Added functionality so that dbKona's DataSet now works with Oracle's thin driver, which cannot handle a ResultSet closure after its Statement has already been closed.

jdbcKona/Oracle (docs)

New in 3.0.1 is jdbcKona/Oracle support for DEC Alpha. You'll find the .so, libweblogicoci26.so, in the weblogic/lib/dec/oracle directory.

The getObject() method called on an Oracle NUMBER(X,Y) column will now always return a Java object suitable for precision X and scale Y.

Made DatabaseMetaData treat empty string as "%".

jdbcKona/Sybase and jdbcKona/MSSQLServer (docs)

Added codeset support for Sybase and MS SQL Server with the new JDBC driver property weblogic.codeset. For more information, see the Developers Guide, Using jdbcKona/Sybase and jdbcKona/MSSQLServer.

Fixed bug in jdbcKona/MSSQLServer so that Statement.setMaxRows() and Statement.setMaxFieldSize() now works properly.

Changed the way the drivers handle messages that may affect the way some applications will be informed of errors during SQL processing. Both drivers now throw an immediate SQLException whenever there is any sort of fatal SQL failure (Severities >= 11). Previously there was a small chance that an SQL failure might not be reported, or reported as a success erroneously, for example, if a call to a stored procedure succeeded to there was an error in executing the stored procedure. Your application will now receive an SQLException with the correct Vendor error code immediately upon any SQL failure. SQLWarnings will be available as before.

htmlKona (docs)

Added support for multibyte character codesets with a new page constructor (HtmlPage and ServletPage) that takes a Codeset as an argument. Default codeset if unset is "8859_1".

Deprecated FormServlet. Prefer GET and POST functionality inherent in the HttpServlet class.

Removed deprecated class CgiEnv, which is no longer in use since the demise of webscript.exe.

Third-party software notes:

JView users: Note that you must use IE 4.01 or SDK 2.01 with Tengah. The corresponding JView version is 4.79.2339.

Top of the page

Release notes 3.0 (Final) -- 1/29/98

Notes for upgrading to Release 3.0 (Final) from an earlier beta version:

You can determine your version by typing this at a command prompt:

 $ java utils.version

With this version, JDK 1.0.2 is no longer supported universally. A single directory of classes, "weblogic/classes-jdk110," that has been compiled with the JDK 1.1 compiler is shipped with the distribution, and is suitable for applet use of JDK 1.0.2, with certain restrictions:

  • Our 1.0.2 support is limited to client-side applets (using only Tengah JDBC, RMI, Event, and T3Servlet services) that are run in either Microsoft IE 3.0.2 or later or Netscape 3.0 or later browsers. (You may also want to investigate using JavaSoft's Activator.)
  • Running the Tengah Server against the 1.0.2 JVM is no longer supported.
  • Running or compiling your Tengah applications against 1.0.2 is also no longer supported.

This version requires WebLogic .dll/.so/.sl version *26* for the jdbcKona/Oracle drivers. If you did not install version with a beta version of the 3.0 release, you will need to replace your jdbcKona/Oracle drivers with:

Oracle users: weblogicoci26.dll
or weblogicmsoci26.dll
or libweblogicoci26.so
or libweblogicoci26.sl

If you have problems running the Console on Windows 95, we suggest that you reconfigure your system with more swap space and restart.

Note: If you are installing the WebLogic distribution in tar format, you must use an archive tool that supports long filenames. The gnutar facility does not; we have had reports of "missing" class files from customers who attempted to install with gnutar.

Top of the page

Changes between 2.5 and 3.0 (beta 7)

General Tengah changes

Our licensing and evaluation policies have changed slightly since version 2.5.x. With release 3.0, you are no longer required to ask for and compile special keys for your license file; a license file good for a posted interval is shipped as part of the distribution.

weblogic.common.WorkspaceHookDef has been deprecated. There is a new service, Workspace Monitors, that provides a much more powerful model for controlling objects in the Workspace environment. Check the Developers Guide, Using Tengah Workspaces.

Property-related changes since 2.5.4

The weblogic.http.* properties have changed to weblogic.httpd.* for consistency. Formerly there was a distinction made between server-side and client-side HTTP-related properties. With release 3.0, all HTTP-related properties have been generalized into a single service.

You must change or add the following properties to your weblogic.properties file:

  • Change weblogic.io.volume to weblogic.io.fileSystem. (See Tengah File services)

  • If you are using named workspaces, you must add an ACL for each named workspace. You can add a temporary shortcut for all users to access all workspaces to guarantee backwards compatibility until you set up the ACLs, by adding this property:

    weblogic.allow.read.weblogic.workspace=everyone
    weblogic.allow.write.weblogic.workspace=everyone

Note that this essentially defeats the new built-in security for Tengah, and we advise you to update your property file with an ACL for named workspace use.

Tengah access for CORBA clients

Clients may use VisiBroker 2.5 for IIOP tunneling, which is compatible with the current version of Netscape (4.04). WebLogic support for Version 3.0 of the VisiBroker product includes all features except IIOP tunneling, for which we continue to support the earlier version that is currently usable with Netscape. The Visi-to-Tengah tutorials included in the distribution can be used with VBJ 2.5 or 3.0.

Tengah Event services Formerly EventT3.

Added support for a public representation of EventTopics and methods to get EventTopics. You can now register an interest in a particular event or submit events under a particular topic using EventTopicDef. For more information, read the new section on EventTopicDef in the Developers Guide, Using Tengah Events.

Added support for ACLs for receiving and submitting events in the WebLogic Realm.

Changed the delimiter in the naming pattern of user-named Workspaces from colon to period, that is, T3USER:WKSPACE to T3USER.WKSPACE. This naming pattern allows you to set an ACL to give permissions to one user to use another's Workspace, as in:
weblogic.allow.read.weblogic.workspace.User1=User2
Tengah File services Formerly FileT3.

Added support for creating T3File systems. See weblogic.common.IOServicesDef.

Added support for creating and managing T3Files. A T3File may represent the local file system on the client or a remote file system on the Server. See weblogic.io.common.T3FileSystem and weblogic.io.common.T3File.

Changed the property name for identifying file systems from weblogic.io.volume to weblogic.io.fileSystem.

Tengah RMI Formerly RmiT3.

Support for remote invocation between T3Clients and Tengah and for call-backs from the Tengah Server into applets. For more information, see the new section in the Developers Guide, Using Tengah RMI.

Improved support for HTTP, HTTPS, IIOP tunneling, and SSL protocols.

Ease of use enhanced in code generation:
  • Remote signatures do not need to throw RemoteSerialization.
  • Proxy generation from subclasses of Remote objects.

Reusable (shared) remote proxies: stub and skeleton classes are now shared between all the classes that implement a given set of Remote interfaces, rather than a stub and skeleton per implementation class.

Support for per-class proxies. Class-specific stubs and skeletons have precedence over interface-specific stubs and skeletons, which allows for more specific handling of remote invocations on a per-class basis.

Improved class loading through Tengah. Tengah can be used to serve classes to applets and applications via RMI.

Expanded support for the full RMI specification where appropriate within the Tengah framework.

Significant performance improvements.

Integration with Tengah JNDI.

HTTP Servlets

Fixed a bug in HttpServletRequest.getPathInfo(). It was returning the query string rather than just the path.

Added support for ACLs in the WebLogic Realm.

Tengah Workspaces

Added support for Workspace Monitors to the new interface weblogic.workspace.common.WorkspaceDef, which allows you to call user-written methods on Workspace contents before and after certain operations (set, get, and destroy). Monitors are useful for implementing "business rules," where workflow and data validation are enforced by a global policy. For more information, read the Developers Guide, Using Tengah Workspaces

Added support for ACLs in the WebLogic Realm.

The JDBC Drivers

Added two new Connection properties, name and description, to the Tengah JDBC multitier driver to improve reporting in the Tengah Console. For more on these properties, see the Developers Guide, Using Tengah JDBC.

Fixed a jdbcKona/Oracle bug that was causing an exception when ResultSet.wasNull() was called after any of the stream methods were used.

Amended the pool Connection object in jdbcKona/Oracle to ensure that the login data structure is returned to the pool if the connection attempt fails on the user's side.

dbKona

Added new method, DataSet.releaseRecords(), to allow reuse of a DataSet without nullifying previous records.

htmlKona

With release 3.0, htmlKona is now fully compliant with HTML 4.0.

Added support for codeset conversion. A new constructor, HtmlPage(Codeset codeset), was added to support this, and a Codeset utility class.

Top of the page

New Tengah features in Release 3.0

For more details on new features in Tengah Release 3.0, read the Release 3 Summary.

Tengah Console

We're pleased to announce the Tengah Console, a pure-Java GUI management console that gives you detailed information about every aspect of Tengah. To start the console:

  1. Start the Tengah Server.
  2. At the command line enter:
     $ java -ms16m -mx16m weblogic.T3Console

There is more information on running the Console in the Tengah Administrators Guide document, Running the Tengah Console.

Note that the Console does not run under Microsoft JView.

Tengah ACLs (Access Control Lists)

We enhanced security features in this release with the addition of support for ACLs (Access Control Lists), based on security Realms. A default WebLogic Realm is provided that is built according to the configuration in your weblogic.properties file, so that there is backwards compatibility. Please read about changes you must make to your properties file if you use named workspaces. The WebLogic Realm allows you to set up ACLs for the following services:

See Using Tengah ACLs for more information on using the API.

Tengah JNDI (Java Naming and Directory Interface) services

Support in this release for the JavaSoft JNDI specification. JNDI provides a new model for access and use of resources in the server. (Using Tengah JNDI)

Tengah EJB (Enterprise Java Beans) services

Support in this release for the JavaSoft EJB specification. The EJB specification is still undergoing major changes which will almost certainly change the API. WebLogic is releasing EJB in 3.0 for early access to those interested in transactional services, but we will not provide backwards compatibility with the next WebLogic release. The documentation provided with this release is minimal and dependent upon the specification and API reference available from JavaSoft.

Tengah Time services

A Time API is provided in this release for time- and timing-related operations. For more information, see the Developers Guide Using Tengah Time.

Copyright © 1997-98 WebLogic, Inc.
All rights reserved.

Last updated 6/04/98