Skip navigation.

Release Notes

  Previous Next vertical dots separating previous/next from contents/index/pdf Contents View as PDF   Get Adobe Reader

Resolved Problems for Service Pack 5

Service Packs are cumulative; Service Pack 5 contains all fixes made in earlier Service Packs released for BEA WebLogic® Server 8.1.

The following sections describe problems that were resolved in BEA WebLogic Server® 8.1 Service Pack 5:

Administration Console

Change
Request
Number

Description

CR081329

The Refresh button no longer opens the page that was previously opened, but instead refreshes the page that is currently opened.

CR106556

No exception was being thrown when an existing provider with the same name was replaced.

Now, WebLogic Server throws an InstanceAlreadyExistsException if an MBean is already registered with the given name. The error message is displayed in the Administration Console.

CR107353

The Administration Console only displays the 48 users per authentication provider in a security realm. A filter was provided to narrow the results, but there was no indication that there were more users than what was being displayed.

Now, the console indicates to the user that there are more users in the security realm than the console can display.

CR107977

The Administration Console in Japanese mode now displays the expected content when you select Servers in the left pane and then click Customize this view... in the right pane, regardless of the browser you are using.

CR135899

If the Administration Server and the Managed Server are running on different multi-byte locales, the Managed Server log can now be viewed correctly in the Administration Console when you select the locale of the Managed Server in the Console Preferences page.

CR174743

WebLogic Server correctly updates the config.xml file when the Administration Console is used to change the load order of Web applications. Previously, the leading "/" character in the application path was incorrectly overwritten.

CR178121

Correct values of user lockout attributes are now shown in the Administration Console with custom security providers in non-default security realms other than the default security realm.

CR178658

The Servlet Extension Case Sensitive attribute has been added to server and cluster configurations, and the Web App Files Case Insensitive attribute has been added to the security domain configuration.

These attributes specify whether file lookups for Java Server Pages (JSPs) are case sensitive on all platforms except win32; file lookups from standard win32 file systems are always case-insensitive. On case-insensitive file systems other than win32 (such as NT Samba mounts from UNIX or Mac OS that have been installed in case-insensitive mode), specify case-sensitive lookups by setting these attributes to False to prevent the JSP from returning its source code. For example, if a JSP is being served from a Samba mount and you have specified case-insensitive lookups, WebLogic Server converts all file name extensions to lower case before looking up the JSP.

Possible values and usage:

OS (the default value): WebLogic Server relies on the operating system for pattern matching.

True: WebLogic Server enforces case-insensitivity irrespective of the operating system.

False: WebLogic Server enforces case-sensitivity irrespective of the operating system.

CR180077

The custom attribute and the Display Message appear in the Administration Console under the Details tab. Help text for security provider custom attributes is displayed in the description tag of the attribute defined in the descriptor files.

CR183868

When deleting an application from the server, the message in the Administration Console no longer indicates that the deletion process has been completed. Instead, now the message indicates that the deletion process will be completed.

CR191904 CR215149

New servers can be added to a cluster without error even if the cluster has an existing list of members that are running.

CR191989

When you clone a server through the Administration Console, the LogMBean and the ExecuteQueues are now properly copied.

CR196590

The Administration Console now shows Redirections as the child of the WTC Service itself instead of as the child of tBridge.

Also, the Administration Console no longer allows you to configure identical Redirections (that is, Redirections with the same name) to the same WTC Service.

CR199870

If an error occurs while you are configuring a new execute thread, the error is now displayed on the current page rather than on the MBean parent's page.

CR199916 CR234184

The Virtual Machine no longer crashes during redeployment.

Synchronization was added to the deployment descriptor editor code so that only a single thread can un-jar the application descriptor.

CR201904

When you use the Target Each Module button to deploy an EAR file containing one or more Web applications, the deployment no longer fails.

CR202739

The Apply button is now displayed in the Administration Console for Monitor, Operator, and Deployer IDs and in the Customize Logs page.

CR206190

The Administration Console threw an error if the Console extension did not contain index.xml and the catalog for the selected language or locale.

The Administration Console uses the default catalog if index.xml is not present or if no catalog is defined for the selected language or locale.

CR208509 CR221784

You can now use the DISCOVERMANAGEDSERVER button, to re-establish administrative control over Managed Servers even after the Administration Server has already started, using the Administration Console.

CR208547

The inline help text has been updated to show that the custom Hostname Verifier can implement either weblogic.security.SSL.HostnameVerifier (deprecated) or weblogic.security.SSL.HostnameVerifierJSSE.

CR209781

The Administration Console left pane (applet) is now working properly with the Microsoft JVM.

CR211026

When an EJB was deployed on a Managed Server and the in-flight transaction was monitored, the transaction appeared on the Administration Console, but could not be rolled back by using the Force Local Rollback and Force Global Rollback functions.

The Force Local Rollback and Force Global Rollback now work properly.

CR212870

CR126808

CR215833

When two applications with one application-scoped datasource per application were deployed on the same server and the datasources had the same name, an InstanceAlreadyExistsException was thrown.

Code was added to configure the pool name to be application-specific when necessary.

CR214041

Opening the Global Role editor pop-up in the Administration Console no longer results in an Apache 500 error.

CR215112

CR221786

The following pages in the Administration Console are now consistent in how they show the current state of Managed Servers:

  • Domain Monitoring

  • Domain Control

  • Servers Table

  • Server Monitoring

  • Server Control

CR215352

Force Local/Global Commit now works against the transaction running on Managed Servers.

CR216670

When you exceed your number of authentication attempts, a message is logged throughout the domain saying that you are locked out. Now, the Administration Console also shows the lockout message.

CR216851

The Define Security Policy and the Define Scoped Role pop-up menu options are no longer available for JMS bridge destinations.

CR217508

The banner in the Administration Console now shows the user authenticated against WebLogic Server instead of the proxy user ID.

CR217812

The Administration Console Web Application deployment testing tab can now handle the default context(/). Now, no extra / will be added with the default context(/).

CR222458

Clicking the Administration Console deploy button restaged Web Applications to targeted servers.

The Administration Console no longer restages files that already exist.

CR222872

The order of filter connection rules displayed in the Administration Console is now the same as the order you entered before you click the Apply button.

CR223073

If the method signature contained array as parameter, the method name was not passed to the security subsystem while security policies for Web Services were being defined, which resulted in a java script error.

Now, the method name is passed to the security subsystem in the correct format when method parameters contain array, and the java script error is no longer thrown.

CR224902

Now, if a resource is deleted, its associated security policy and scoped roles are also deleted.

CR229823

When a user with the Deployer role selected the Testing Tab, WebLogic Server threw a weblogic.management.ManagementRuntimeException. Thereafter, clicking on any application in the left pane would continue to generate an exception.

Now, instead of getting the weblogic.management.ManagementRuntimeException in the right pane, the user gets to see the right pane with the Configuration tab selected.

CR231512

The Connection Policy screen for the BEA WebLogic Tuxedo ConnectorTM now shows the correct text.

CR231600

Java script pop-up windows showing cookie information are no longer displayed in any of the following scenarios:

    1. Log in to the Administration Console and enter the following URL:

http://localhost:7001/console/actions/mbean/MBeanFramesetAction?sidebarFrameId='%5d%22%3e%3b%3cscript%3ealert%28document%2ecookie%29%3b%3c%2fscript%3e

    2. Open a new browser and type the following URL:

http://localhost:7001/console/actions/common/SidebarAction?%3cscript%3ealert%28document%2ecookie%29%3b%3c%2fscript%3e

    3. Open the Administration Console (http://localhost:7001/console), and click the [Sign In] button with a blank password. Then the request is redirected to

http://localhost:7001/console/j_security_check.

Then input the username as follows:

weblogic"><script>alert(document.cookie)</script>

Click the [Sign In] button.

CR237076

On the Define Security Policy and Policy Condition pages, the Add button is no longer incorrectly displayed as the And button

CR237153

You can now enable Multicast Data Encryption through the Console to prevent insecure multicast messages in a clustered environment.

CR238256

The password is no longer incorrectly displayed as clear text in server.log, config.xml, and the Administration Console.

CR239846

Combo patch request of CR236810 and CR202495.

Cluster

Change
Request
Number

Description

CR219614

When a Managed Server made an initial connection to the Administration Server using the Administration port, all subsequent connections from that Managed Server were also made using the Administration port.

By default, connections are made to the default listen port. However, if a user has Administrator privileges, subsequent connections will be made using the Administration port.

CR223302

In a cluster that has the domain-wide local administration port enabled, migrating the JMS server no longer fails with a NameNotFoundException when WebLogic Server tries to look up an internal service called weblogic.cluster.migrationControl.

Connector

Change
Request
Number

Description

CR210249

When <security-permission> is specified in the ra.xml file, the connector module now deploys with no problems.

CR211694

The WebLogic JCA handle no longer causes a memory leak. Connection handle instances are tracked through an objectID hashmap and are now cleaned up when the connection handle is closed.

CR231963

There is no longer a memory issue during resolution of resource references in a connector module.

CORBA

Change
Request
Number

Description

CR201403 CR213972 CR203077

Previously when the client sent the close message, the server side did not close the socket because it expected more input from the client. The socket never got closed, which eventually caused connection leakage.

Now, when the client receives a close connection message the socket is closed to prevent connection leakage.

CR206054

WebLogic ORB displayed a NullPointerException and threw a CORBA.UNKNOWN error instead of returning false for the _is_a(String) CORBA call when the string that was passed in did not match the calling CORBA object.

Code was added to check whether the method, which is used to find the object identified by the repository identifier, returns null or not.

CR220716

The maximum number of file descriptors (fds) that can be specified for the ioctl call without causing an exception is one fewer than the operating system limit for the number of fds. This restriction is new in Solaris 10.

To avoid getting an illegal argument exception when starting the server, the maximum number of fds is now set to one fewer than the operating system limit.

CR224353

A CORBA object registered with WebLogic ORB could be reached over a non-SSL port, but not over an SSL port. When the non-SSL port was disabled, an incorrect value of -1 was assigned in the IOR.

The correct value of 0 is now assigned.

Core WebLogic Server

Change
Request
Number

Description

CR108791

When the server state was SHUTDOWN_IN_PROCESS and Runtime.getState was called, WebLogic Server returned the wrong string.

Now, WebLogic Server returns the correct string, which depicts the state of the server.

If your applications were dependent on the wrong string constant that was being returned, you may need to change the string constant.

CR128813

It is now possible to create a network channel for the "admin" protocol that specifies an interface (that is, ListenAddress) that is different from the default network channel.

CR177987

CR236405

The following was an error in poll with SocketException that occurred with performance pack enabled:

java.net.SocketException: Error in poll for fd=32, revents=8

This problem was fixed in PerformancePack for HPUX_IPF.

CR179278

Refer to the security advisory information available at:

http://dev2dev.bea.com/pub/advisory/141

CR182555

When JMS was migrated from server1 to server2, WLIAdminMDB, the Message-Driven Bean responsible for garbage collection in the WebLogic Integration Document Store, threw a NameNotFoundException, which caused WLI Document Store clean-up functionality to fail after migration.

Now, Message-Driven Beans are the last components to migrate. As a result, WLIAdminMDB no longer throws a NameNotFoundException when JMS is migrated from one server to another.

CR196369

Refer to the security advisory information available at:

http://dev2dev.bea.com/pub/advisory/138

CR198659

CR208418

CR222680

A corruption in the TimeEventGenerator data structures caused the timer thread to spin in an infinite loop due to NullPointerExceptions. The server had to be restarted to overcome this problem. This has now been addressed.

CR201647

CR225246

WebLogic Server threw UnmarshalException with nested OptionalDataException after EJB tier was restarted, due to synchronization issues with the BasicReplicaList class.

This problem has now been fixed.

CR202167

When beasvc on Win2003 starts a server off a network share, an error no longer occurs.

Now network drive mapping happens within the service itself. The following new parameters were added to the beasvc:

  • localname

  • remotename

  • remoteuser

  • remotepassword

Example usage:

-localname:"X:" -remotename:"\\172.17.24.130\src810sp4" -remoteuser:"xyz" -remotepassword:"xyz" 

You are mapping \\172.17.24.130\src810sp4 to your local machine as X: and the remoteuser, and remotepassword are used to connect to the remote machine.

CR202932

Refer to the security advisory information available at:

http://dev2dev.bea.com/pub/advisory/153

CR203320

CR220927

A deadlock no longer occurs between Multicast send and receive calls.

CR203523 CR228079

The following log message has been reinstated to appear as it had in previous WebLogic Server releases.

<Warning> <WebLogicServer> <000333> <Queue usage is greater than QueueLengthThresholdPercent "3%" of the maximum queue size. We'll try to allocate ThreadsIncrease "5" thread(s) to help.>

CR208567

A Managed Server referenced a listener thread that listened for the commands or responses sent by the Managed Server. When a Node Manager had gone down, the Managed Server tried to re-initiate the connection to the Node Manager. After re-establishing the connection, the Managed Server created the new listener thread and started it, but did not change the reference to the listener. It still pointed to the old listener.

Now, the Managed Server sets the reference to a listener properly after re-establishing a connection to the Node Manager.

CR209153

When remote-client-timeout in EJB descriptors was set to a value equal to or greater than 33 seconds, the runtime descriptor did not generate properly. Instead, remote-client-timeout was ignored.

Now, a value greater than 32 seconds can be specified for the remote-client-timeout setting in the EJB descriptors.

CR209595

CR234506

The constant pool index overshot the Byte.MAX_VALUE (2^7 - 1) in the bytecode generation code, which caused EJB deployment to fail with a java.lang.VerifyError stating the underlying cause as Illegal type in constant pool.

To fix the problem with the bytecode generation, the index to Short.MAX_VALUE (2^15 - 1) has been extended.

CR210128

CR210838

CR214575

The socket layer no longer throws a NullPointerException when an RMI layer throws a QueueFullException.

CR210920

CR233948

A prepared statement that was cached with a pooled connection, which failed with an exception, is now completely removed from the cache, and no longer results in a memory leak.

CR211299

Refer to the security advisory information available at:

http://dev2dev.bea.com/pub/advisory/156

CR212744 CR221785

The SSLIOContextTable.registerForThrottling() gets the reference to the ServerThrottle instance inside a synchronized region. If the ServerThrottle had not been instantiated, the constructor was called, which sometimes resulted in deadlock because the ServerThrottle was instantiated holding the SSOLIOContextTable.class lock.

To avoid the deadlock, WebLogic Server now gets the reference to the ServerThrottle instance before obtaining the SSOLIOContextTable.class lock.

CR213915

When the remote server to which the stub is connected is restarted, the stub now fails over to the other servers in the cluster.

CR215524

Refer to the security advisory information available at:

http://dev2dev.bea.com/pub/advisory/157

CR217262

If QueueLength reached maximum, it resulted in a FullQueueException, which in turn resulted in server shutdown.

To fix this, WebLogic Server now handles the FullQueueException and also closes the socket for SSL before the handshake so that the clients get disconnected properly.

CR217423

CR241142

WebLogic Server can now accept POST/GET requests from a client after the KeepAlive connection is timed out on Linux.

CR217854 CR221776

When WebLogic Server threw a SecurityException, as a result of a remote call made to the Administration port by an anonymous user, it failed to return the transaction context with the response. As a result, the client was unable to decrement the request count resulting in a CommitException.

Now, when WebLogic Server throws a SecurityException, it also sends the transaction context.

CR220409

Combo patch request of CR217423 and CR201403.

CR222932

When standalone JMS consumers listening on queues in WebLogic Server were created and the client was killed abruptly, consumers on the server side were still alive. Restarting the client created additional consumers with the same stub and then, if a peerGone exception was thrown, only one listener received the message.

One stub can now have two listeners, which resolves the problem.

CR224570

A synchronization problem caused two different requests to be assigned the same request ID. This caused one of the requests to hang.

Now a unique ID is assigned to each request.

CR229267

The forced undeployment of applications after graceful shutdown of WebLogic Server timeout sometimes lead to ConcurrentModificationException.

WebLogic Server no longer throws this exception while undeploying applications.

CR232983

WebLogic Server no longer throws a peerGone exception when the ConnectionManager was waiting to acquire a lock to send heartbeats.

This problem has been fixed.

CR236961

WebLogic Server now propagates non-public interfaces.

CR239324

If a socket was unregistered and then registered, and if between the two calls the timeout timer never ran, the data structures were getting out of sync, which prevented the newly registered socket from ever timing out.

The new register for the socket is no longer ignored by a previous unregister.

Deployment

Change
Request
Number

Description

CR190015

CR220929

When tasks were purged from the Administration Console, a weblogic.utils.AssertionError was thrown.

Now, while completed tasks inside the deployment code are deleted, additional checks in the deployment code determine whether the MBean is still registered with the MBean Server or whether it has already been unregistered.

CR220155

In clustered deployments with enforceClusterConstraints set, the application deployment fails if one or more servers in the cluster is not up. Changes were made so that when these servers come up later, they continue using the application bits available with them and do not deploy the new application bits.

Now, the same application version runs on all the servers of the cluster even after deployment failure.

CR220398

A SocketException is no longer thrown when you deploy a large application (over 100M).

CR236855

When deployments are pinned to clusters, the ApplicationLifeCycle listener is no longer invoked on non-targeted servers of the cluster.

EJB

Change
Request
Number

Description

CR112185

Now, ejbc logs a warning message if there is a mismatch in the jndiName(s) and type of view(s) defined by an EJB.

For example, if the bean, TraderBean, defines a local view and has no local-jndi-name defined in the weblogic-ejb-jar.xml file, ejbc reports the following warning:

The ejb 'TraderBean' has a Local View. However, the &lt;local-jndi-name&gt; is not set.

CR125400
CR132496

A startup class that calls one EJB business method on doSomethingOnA of BeanA. This method gets the home interface for BeanB and this leads to the following ClassCastException:

<29 janv. 03 13:21:19 CET> <Info> <EJB> <010051> <EJB Exception during invocation from home: test_ccex.a.BeanABean_124zg1_HomeImpl@5c5ca2 threw exception: java.lang.ClassCastException: Cannot narrow remote object to test_ccex.b.BeanBHome java.lang.ClassCastException: Cannot narrow remote object to est_ccex.b.BeanBHo me at weblogic.iiop.PortableRemoteObjectDelegateImpl.narrow(Por tableRemoteObjectDelegateImpl.java:223) at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObjec t.java:132) at test_ccex.a.BeanABean.doSomethingOnA(BeanABean.java:49) at test_ccex.a.BeanABean_124zg1_EOImpl.doSomethingOnA(BeanAB ean_124zg1_EOImpl.java:46) at java.lang.reflect.Method.invoke(Native Method) at com.csg.am.dcf.weblogic.startup.BeanExecutor.startup(Bean Executor.java:183) at weblogic.t3.srvr.StartupClassRunner.invokeStartup(Startup ClassRunner.java:141) at weblogic.t3.srvr.StartupClassRunner.invokeClass(StartupCl assRunner.java:122) at weblogic.t3.srvr.StartupClassRunner.access$0(StartupClass Runner.java:113) at weblogic.t3.srvr.StartupClassRunner$1.run(StartupClassRun ner.java:86) at weblogic.security.service.SecurityServiceManager.runAs(Se curityServiceManager.java:744) at weblogic.t3.srvr.StartupClassRunner.run(StartupClassRunne r.java:71) at java.lang.Thread.run(Thread.java:479)

A code fix resolved a classloading issue in RemoteObjectReplacer.

CR126351
CR132693
CR133769

The appc generated compiler errors if the value of the <table-name> element in the weblogic-cmp-rdbms-jar.xml DD contained special characters such as '.' and '@'.

The DB2 database now allows table names that include these special characters. Illegal Java characters are now replaced by '_' in the generated code. This change is also applicable to CMP beans that are mapped to multiple tables.

CR132510

When enabling the relationship caching on an entity bean that is using optimistic concurrency with cache-between-transaction set to true, WebLogic Server no longer throws an IllegalStateException.

CR133421

In a domain with a JMS Server that has no targets, a Message-Driven EJB deployment with distributed destination or migratable destination no longer fails with an ArrayIndexOutOfBoundsException.

CR174593 CR198357

WebLogic Server used to throw a ConcurrentModificationException when:

  • the finder of an entity bean was invoked in the ejbStore method

  • new entity beans were enrolled in the transaction in the ejbStore method

  • modifying entity beans of the same type in the ejbStore method

This exception is no longer thrown.

CR182398

EJBC no longer fails if a CMP Entity Bean has a CMP field named oldState.

CR186266

Setting the Extra EJB Compiler Options to the value -J-mx512M in the Administration Console and then deploying an EAR file no longer causes deployment failure and the following exception:

Compiler failed executable.exec

Additionally, EJB compilation is now a forked process if there are any extra ejbc options or if any compiler other than the default is specified. WebLogic Server now supports Java heap size options in the following formats as part of the extra ejbc options:

-J-mx128m
-J-Xmx128m

CR186762

Now, even when a transaction only modifies blob or clob fields in a bean, the version or timestamp column in a table is updated.

CR194306 CR211196

Using "select for updates" with optimistic concurrency EJBs led to performance issues.

The "select for updates" operation is no longer used for optimistic concurrency EJBs that use Oracle drivers that implement the proprietary sendBatch() API. As a result, for optimistic failures, it is no longer possible to report errors at the pk level.

CR197625

When a remove call for a CMP bean failed because of a database constraint violation, WebLogic Server failed to destroy the bean at commit time. This caused the bean to be reused without being initialized, resulting in NoSuchObjectException when the bean was subsequently accessed.

The bean is now destroyed in the cache.

CR200204

Now, when an EJB that has both local and remote interfaces is deployed and being accessed from a Web client deployed in the same application (EAR), a ClassCastException is no longer thrown while create is being called on LocalHome.

CR202817

CR237811

In a cluster, when a child bean is added to the parent bean on one server; the beans use the Optimistic Concurrency strategy; and cache-between-transactions is set to true, the CMP/CMR field no longer returns a stale set of child beans.

CR203644

Replicated Stateful Session Beans in a cluster with InMemory replicated session no longer throw a NoSuchObjectException or a LeasedRemoteRef error after instances are passivated or after the cluster instance is shut down.

CR205974

When a collection valued CMR field is accessed in a transaction other than the one in which it is created, WebLogic Server no longer throws an IllegalStateException.

As a result, WebLogic Server delivers the correct result set from the finder query regardless of whether caching is turned on or off.

CR206209

BEA implemented optimizations for immutable fields of CMP EJBs such that the setXXX() method does not write the values of unchanged primitive and immutable fields to the database. This optimization improves performance, especially in applications with a high volume of database updates.

BigInteger and BigDecimal, which are immutable classes, were excluded from this optimization and have now been included.

CR208540

WebLogic Server no longer queries against the database for findByPK calls after a bean is reloaded, but instead retrieves the information from the cache.

CR209678

When the ejbCreate() method was declared as final, ejbc correctly flagged an error, but the error message content was incorrect. The error message was corrected as follows:

the ejbCreate method(s) must not be declared as final

CR209908

CR210116

When an ejbSelect query returned a ResultSet (WebLogic Server-specific), the JDBC objects were not released after the query was done, which resulted in a connection leak.

JDBC objects are now released in the finally block of the method. As a result, there is no longer a JDBC connection leak.

CR209987 CR210650 CR229780

Assuming n as the max cache size specified in the deployment descriptor, when trying to execute an EJB finder call returning more than n records, WebLogic Server throws a CacheFulException. This is expected because the Entity EJB cache size is set to n. However, subsequent finder calls on the same EJB that returns a single record failed with the CacheFulException because the cache size had already been incremented, and it was not decremented when the CacheFulException occurred.

Now, subsequent finder calls on the same EJB no longer fail with this exception because the cache size is decremented whenever the CacheFulException occurs.

CR210673

If the data type of a cmp field was byte[], ejbSelects returning collection types using that field were not generated properly.

For example, for an ejbSelect defined as:

SELECT o.identifier from TestByteArray as o where the cmp-field "identifier" maps to byte[] in the bean class, ejbc created an unknown return data type in the generated class and compilation failed:

( [B __WL_retVal = null; )

Now, the java source type is generated correctly:

byte[] __WL_retVal = null;

CR210675

When a CMP field was defined as type &quot;SybaseBinary&quot in the deployment descriptor, ejbc generated classes were still using setBinaryStream() instead of setBytes() in case of finders.

Now, the RDBMS generated code always uses setBytes() rather than setBinaryStream() for finder queries if the query parameter is of type byte[] and the CMP bean contains at least one CMP field that defines dbms-column-type as SybaseBinary.

CR210903 CR224454

WebLogic Server no longer throws a ClassCastException, as it does not try to cast a BMP bean into a CMPBean in the afterCompletion callback.

CR212483

When a finder was executed within the ejbRemove() body with include-updates set to true, the bean on which ejbRemove was called was deleted before the ejbRemove call was completed in the flushModifiedBeans operation. This happened when order-database-operations was set to true.

The bean is now deleted after the ejbRemove call is completed.

CR215848

Serializing access to create the execute queue and then start threads for that queue, ensures that when Message Driven Beans are deployed and WebLogic Server uses asynchronous polling, a thread - '&quot;weblogic.ejb20.internal.JMSMessagePoller&quot;' is created for every Message Driven Bean deployed. Based on the load, child pollers are created to handle the load as and when required.

Synchronization changes have been implemented to ensure that a race condition does not occur when Message Driven Beans fail to connect at deployment time. Note that while this problem has been resolved, performance might be affected slightly.

CR217172

In the same transaction, accessing a ReadOnly bean with include-updates set to False caused pending changes to be flushed to the database when the finder parameters were of type primitive array such as byte[]. This situation degraded performance, caused a lock on the database side, and caused all other transactions to be held up until the transaction performed a commit or rollback.

Now, include-updates set to False for any finder query work correctly for any type of method parameters, and changes that should not be flushed to the database are no longer flushed.

CR217188

BEA-012034 was added to the list of warnings that can be disabled with the <disable-warnings> element.

CR217605

If an EJB has a run-as security role configured, WebLogic Server no longer uses different security principals while executing different methods on the EJB class. WebLogic Server now sets the correct run-as principal for all the EJB methods.

CR217859

The correct transaction timeout value is now used when a transaction is created in JMSMessagePoller/ContinuousJMSMessagePoller.

CR219935

When security providers are implemented with EJBs, local stack corruption, which resulted in a stateless session bean leak, no longer occurs. WebLogic Server maintains the stack order correctly.

CR220559 CR235671

When the commit setting for the delay-database-insert-until flag in WebLogic Server 7.0 style descriptors is used, the WebLogic container now correctly enables both batch operations and order database operations.

CR220607

The bean on which the ejbRemove() method is called is now available within the scope of its own ejbRemove() method when order-database-operations is set to True.

CR220665

Even if the CMP field was byte array, it was reserialized again to byte array while being put into the database, which resulted in corruption of blob data.

Now, WebLogic Server no longer reserializes a byte array to get another byte array unless serialize-byte-array-to-oracle-blob is explicitly set to True. As a result of this fix, blob data is no longer corrupted.

CR222244

In WebLogic Server 8.1 Service Pack 3, CR128063 was fixed as follows:

When an MDB suspended a transaction, if the transaction was later resumed, it was committed or rolled back using a different thread. This caused problems for some XA implementations.

The MDB container now ensures that the transaction is started and committed using the same thread.

In WebLogic Server 8.1 Service Pack 5, CR184585 was fixed as follows:

Added support for XAResource implementations that possess thread affinity behaviors.

As a result of the fix for CR184585, the fix for CR128063 was reverted in WebLogic Server 8.1 Service Pack 5.

CR223475

The Inter-domain trust is no longer needed for a Message-Driven Bean with the &quot;NotSupported&quot; transaction attribute. Also the Credential Mapper needs to be configured to map the remote credentials to run-as-user in a Message-Driven Bean domain.

In addition, JMS now uses consumer credentials when pushing exceptions to the consumer.

CR227533

CR217872

CR239336

Stateless beans now reflect the correct EJBTransactionRuntime attributes.

CR228320

Object array type parameters used in Finder methods are no longer ignored; they are now parsed by WebLogic Server.

CR228579 CR234062

The entity beans that return true for an isIdentical() call now also return true for an equals() call.

CR230446

The CMP EJB beans marked as "isRemoved" are no longer returned as the result of an internal (relationships)/external(user defined) finder call.

CR232022

A Message-Driven Bean could not connect to a Foreign JMS Server that had security enabled.

An MDB can now connect to a Foreign JMS Server when the Credential Mapper or Foreign JMS wrapper is configured properly.

CR235103

During JMS migration, a NullPointerException is no longer thrown during migration of an undeployed MDB.

CR235944

While doing a compliance check, the EJBObjectComplianceChecker no longer ignores a few business methods.

CR237440

Using MetaData for to validate DB schema no longer leads to a mismatch between column names and corresponding column types.

CR240444

Combo patch request of CR188814 & CR209908.

Installer

Change
Request
Number

Description

CR195440

Node Manager installed as an NT service with the JVM set to JRockit no longer has a problem starting the service.

J2EE

Change
Request
Number

Description

CR178426 CR211255

The servlet destroy() method is now called during the deactivate phase of two-phase undeployment.

As a result, Web Application sessions are removed in the deactivate phase instead of in the rollback phase. This behavior is modified so that the servlets can access the EJB or app-scoped JDBC pools from the servlet destroy() method.

CR222757

Compilation errors in a JSP Web application caused appc to stop compiling the JSP.

A new option, "-k", has been introduced in appc to continue JSP compilation even after a compilation error. For wlappc tasks, a new attribute "continueCompilation" has been added.

jCOM

Change
Request
Number

Description

CR208772

The J-Integra version bundled with WebLogic Server 8.1 is upgraded to J-Integra 2.3.

JDBC

Change
Request
Number

Description

CR087241 CR216714

A JDBC application using XA calls and any Oracle driver was getting an ORA ORA-01002: fetch out of sequence error while fetching rows if a transaction was suspended and resumed.

The AddOracleFlagToXAResource flag has been added to fix this problem when the XA calls use the Oracle 10g thin driver. To avoid getting the ORA ORA-01002: fetch out of sequence error while using XA calls, you must use the Oracle 10g thin driver and turn on the JDBCConnectionPool flag.

CR136497

Calling the JTS connection getWarnings() method after a transaction is finished no longer results in a transaction over exception.

CR136713

The Administration Console now properly displays leaked connections for the JDBC connection pool.

CR136713 CR226682

Leaked connections for a JDBC connection pool are now properly displayed in the Administration Console when you click "View Leaked Connections.." in the pop-up menu for the JDBC connection pool.

CR17325

The Oracle thin driver only allows its property, SetBigStringTryClob, to be set through a non-JDBC-standard DataSource method. Because WebLogic Server only uses standard methods to set properties, SetBigStringTryClob was not sent successfully from the pool to the Oracle 10g driver.

Now, WebLogic Server determines whether the DataSource is an Oracle thin XA DataSource, and calls the nonstandard method to set the pool's driver properties. Thus, if the pool includes SetBigStringTryClob=true, this property, and any other Oracle-specific properties that need to be set that way, will be set.

CR189649

When the Sybase database is used with Container Managed Beans and the Sybase driver, and when both the method that contains transaction as Required and the method that contains transaction as NotSupported are called up in sequence from the client side, the following exception no longer appears in the JDBC Log file of the server:

com.sybase.jdbc2.jdbc.SybSQLException: SET CHAINED command not allowed within multi-statement transaction.

CR189956

Using ADMIN_JNDI_NAME with JDBCTxDataSource (using a JTS Driver) when performing a lookup on the Administration Server resulted in a javax.ejb.TransactionRolledbackLocalException being thrown if the Administration Server was down.

Now, for a JTS Driver, WebLogic Server does a LOCAL_JNDI_NAME lookup first and then does the ADMIN_LOOKUP only if datasource is not available locally. As a result, no exception is thrown if the lookup is made by calls within the Managed Server for JDBCTxDataSource.

CR195721

Previously, you could not use a semicolon as part of the JNDI DataSource name because the semicolon is the default character used to bind multiple JNDI names.

The semicolon is still the default character that binds multiple JNDI names. However, now you can use the JNDINameSeparator flag to define the character that binds JNDI names for JDBCDataSource and JDBCTxDataSource. If you choose a character other than a semicolon, you can then use the semicolon as part of the JNDI DataSource name.

CR197163

CR215627

The JDBC connection pool's testing of connections was consuming a lot of database resources because each test was creating a new plain statement which requires the DBMS to parse and plan the test SQL every time.

Now, pools will reuse a single prepared statement for a connection's test which results in improved performance. However, if any application DBMS tables or procedures are referred to in the test SQL and if they structurally change at runtime, such as an index being added, this may invalidate the test PreparedStatement's query plan. As a result, the subsequent test will fail and the connection and test statement will be replaced. The test SQL suggested by the Administration Console will typically not include any structurally changing table, so the problem of needlessly recycling a connection is now minimized.

CR199344

CR220931

When an anonymous user attempts to retrieve DataSource MBean, WebLogic Server no longer throws the following error message:

java.lang.SecurityException: User <anonymous> does not have access to the administrator port

CR199447

Now, when an XAER_RMERR exception is thrown, the JDBC Connection is returned to the pool.

CR202067

If CountOfRefreshFailuresTillDisable is set for the pool, it will disable itself if it cannot make new connections. Now the pool will correctly, periodically try to reconnect and will re-enable itself when it is able to reconnect.

CR203460

When XAConnectionFactory established a pool connection, it ignored the value of the seconds-to-trust property and instead used the default value.

This problem has been resolved.

CR205140

In WebLogic Server versions prior to 8.1, all pool self-tests were suspended when the pool was suspended. WebLogic Server 9.0 reinstates this functionality.

CR205179CR205771

JDBC DataSource now recognizes the Oracle RAC xid propagation delay and, during an RAC failure, reissues commit and rollback after the first commit and rollback fails.

CR205768

Oracle RAC exhibited a delay when replicating the state of pending (prepared) Xids from one RAC instance to another. This delay caused mixed transaction outcomes when the WebLogic Server Transaction Manager attempted to resolve global transactions that contained RAC participants.

Enhancements to the WebLogic Server Transaction Manager recovery service have resolved this problem.

CR206759

WebLogic Server now uses ShrinkFrequencySeconds instead of shrinkPeriod when setting attributes on JDBCConnectionPoolMBean through an Ant task. As a result, JDBC shrinkPeriodMins now sets Shrink Frequency in the Administration Console.

CR207293

When a WebLogic Server 8.1 instance performs a remote RMI JDBC connection to a WebLogic Server 6.1 instance, the connection no longer closes prematurely.

CR208550

The wlconfig Ant Task in WebLogic Server 8.1 Service Pack 2 and earlier produces an error message if a database connection pool is not configured properly. However, WebLogic Server 8.1 Service Packs 3 and 4 do not show an error if a database connection pool is not configured properly.

The error message is displayed properly in WebLogic Server 8.1 Service Pack 5.

CR208691

CR212597

The monitoring page for the JDBC pool in the Administration Console no longer indicates the presence of waiters when none exist.

CR209007

The method ResultSet.wasNull() now returns the correct information when the Weblogic Datasource is used.

CR210219

When WebLogic Server JDBC pools run their periodic test of idle connections, they reserve, test, and release one connection at a time. Temporary outages (ResourceExceptions) no longer occur when a new user load comes in.

CR210818

Pool resources are no longer reclaimed during shutdown. During WebLogic Server shutdown, WebLogic Server no longer makes getConnection calls while connections are being destroyed.

CR210859

Statement.getUpdateCount no longer returns -1 when a Sybase type 4 driver is used in a WebLogic Server pool.

CR211464

When InactiveConnectionTimeout is configured to an amount of time, truly inactive connections are now returned to the connection pool, and connections waiting for DBMS response are not returned.

CR211662

WebLogic Server provides the interface for Oracle thin driver Clobs and Blobs to give you access to certain Oracle-specific methods. This interface is no longer missing the trim() method and the truncate() method.

CR211812

The transaction coordinator was racing with the application to close or cancel a statement, which resulted in a java.lang.NullPointerException.

To avoid this race condition, WebLogic Server now ensures that the connection is viable before calling the underlying code. As a result, a java.lang.NullPointerException is no longer thrown when a statement is closed or cancelled.

CR212051

CR221756

The getAutoCommit() method always returned False, whether the connection was inside or outside a distributed transaction.

Now, getAutoCommit() returns True when the XAConnection object is outside a distributed transaction. Pooled connections present as the JDBC 3.0 specification mandates: autoCommit(true) outside a global transaction.

If you are using a Sybase driver, you must download and install the Sybase driver version that is later than the version shipped with WebLogic Server 8.1 Service Pack 4.

CR212779 CR205768

The JDBC configuration attributes, XARetryDurationSeconds and XARetryIntervalSeconds, were added to the JDBCConnectionPoolMBean. These attributes were also added to the Administration Console so that you can set them without manually editing the config.xml file.

CR213774

CR230719

WLCachedRowSet now returns the time portion (hour, minute, and second) from an Oracle database date column.

CR214267

JTA JDBC connections now keep track of statements so they can be cancelled at transaction timeout.

CR215076 CR222549

Now, even if CountOfRefreshFailuresTillDisable is greater than 1, the pool will disable itself after that many consecutive failures to refresh, as documented.

CR216078

Combo patch request of CR212674, CR186754, CR188329, and CR172353.

CR219411

Connection pool refresh is supposed to test all unused connections. It was testing one idle connection n number of times. Now it properly tests n number of idle connections one time each.

CR219822 CR212898

In the Examples domain that shipped with WebLogic Platform 8.1 Service Pack 3, if the thread ID that was logged as part of the statement profiling contained XML reserved characters, many XML errors occurred when getStatementProfiles() was called on the JDBCConnectionPoolRuntime MBean.

WebLogic Server now ensures that the pool profiling information no longer contains any XML reserved characters.

CR221966

WebLogic Server no longer makes more than the necessary number of transaction rollbacks in the Oracle database.

CR222454

The weblogic.jdbc.wrapper.XAConnection.resetTransactionIsolation() method no longer leaks transactions.

CR225187

The driver type was incorrect for the SQL/MX driver in the jdbcdrivers.xml file.

The driver entry for the SQL/MX driver was removed from the jdbcdrivers.xml file. As a result, you now must manually enter all driver and property information while defining a pool to use the SQL/MX driver.

CR227920

In some cases, redeploying an application on a Managed Server from the Administration Console, after having restarted the Administration Server, threw a java.rmi.ConnectException.

WebLogic Server no longer throws this exception.

CR228597

Now, CallableStatement contains the same processing that PreparedStatement contains. When you use CallableStatement, WebLogic Server supplies proxy processors for certain non-serializable arguments to JDBC calls such as Input streams.

As a result, using CallableStatement to call a stored procedure in the 10g database to insert a CLOB field no longer results in a java.rmi.MarshalException.

CR229318

While processing JMS messages, if the transaction times out, the database rows are no longer locked.

CR229477

If you reset the connection pool with TestFrequencySeconds using the Administration Console, WebLogic Server no longer throws the following exception:

java.sql.SQLException: Statement is closed

CR233641

The ResultSetRowCache class does not obtain the complete time stamp from the DATE column of an Oracle database.

To resolve the problem, contact BEA Customer Support for the latest patch.

CR233921

When closing an RMI JDBC statement, Weblogic Server no longer fails to close the result sets.

CR236171

Differences between the WebLogic Server 7.0 and 8.1 releases in the implementation of the JDBCConnectionPoolRuntimeMBean no longer result in migration problems.

CR236988

Lack of synchronization caused the JTAConnection object to throw a NullPointerException.

This problem has been fixed.

CR243411

A JDBC NullPointerException was thrown during a MultiPool failover using Oracle 10g RAC.

This problem has been resolved. Contact BEA Customer Support for the patch.

jDriver

Change
Request
Number

Description

CR197516

The ExecuteBatch method in the Statement class no longer always returns an array of 0 length when used in the jDriver for Oracle.

CR228794

Increasing the statement's fetch size after using it no longer causes native memory problems that can cause the JVM to crash.

JMS

Change
Request
Number

Description

CR177558

A server-side memory leak no longer occurs with NO_ACKNOWLEDGE delivery mode.

CR187610

JMS Bridge was not using the Messaging Bridge Thread Pool for bridge dispatch requests.

Now, JMS Bridge uses the Messaging Bridge Thread Pool if one has been configured. If there are not enough available threads configured in the Messaging Bridge Thread Pool, the bridge uses the default execute thread pool.

Bridge also logs a warning message if the configured Messaging Bridge Thread Pool size is insufficient and then attempts to obtain a thread from the default execute pool instead.

CR190098

Now, session.recover() can be called for single instance non-transacted topic Message-Driven Beans. As a result, messages get re-delivered when they use JMSTopic with a Message-Driven Bean listening on it.

WebLogic Server does not allow session.recover() on multi-instance non-transacted topic Message-Driven Beans. If you want to use non-transacted topic Message-Driven Beans and would like to have session.recover() called on onMessage() you must use a single instance of the topic Message-Driven Bean as in the below example code:

<pool>
<max-beans-in-free-pool>1</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>

If you need multi-instance topic Message-Driven Beans for performance reasons and also need recovery you should use transacted Message-Driven Beans.

Non-transactional single instance topic Message-Driven Beans that throw an exception in onMessage() get a re-delivery on the message.

CR200474

Java level deadlock no longer occurs with topic subscribers using multicast on subscriber JMSConsumer.close().

CR200503 CR210126

WebLogic Server incorrectly reported a thread as a stuck thread when that thread was being used by JMS to deliver multiple messages when no new requests were on the ExecuteQueue.

WebLogic Server now checks for this condition so as not to report a false positive.

CR202306

You can now use the Administration Console to clear the multicast address field of a JMS Topic.

CR202905

CR206889

CR230513

Setting the local JNDI name on a newly-created Foreign JMS Connection Factory using the WebLogic Server Scripting Tool (WLST) no longer results in any NullPointerExceptions.

CR203841

CR221782

WebLogic Server no longer throws the informational exception when JMS is unable to find a distributed destination member in the JNDI table.

CR204981

To prevent forwarding of messages with null message bodies, JMS has been modified to ensure that it pages in any necessary message bodies before forwarding the messages to distributed topic members

CR206346

JMS was load balancing twice in an attempt to locate a member that met the message criteria when the following circumstances were all true:

    1. the sender was created on a null destination, and

    2. the message delivery mode required persistence, and

    3. the first load balance attempt (made to resolve null destination) did not locate a member with a persistent store configured.

Double load balancing attempts no longer occur in the preceding circumstances.

CR206820

CR221783

Producers now load-balance correctly to distributed queues without encountering security exceptions on some members when a domain wide administration port has been enabled.

CR209263

MQSeries ran out of channels because WebLogic Server had too many sessions open.

Now, WebLogic Server closes both sessions and XAsessions, which allows MQSeries to close associated channels and prevents MQSeries from running out of channels.

CR210888

Redelivery delay no longer causes an unexpected stall in message delivery.

CR211569

WebLogic Server no longer throws an IllegalStateException when committing a transacted JMS session when using a JMS Wrapper in a Servlet.

CR214523 CR235097

To avoid hanging threads, a connection.stop() method now allows the WebLogic Messaging Bridge source queue to drain whatever is in the pipeline before stopping the connection.

CR215637

JMS no longer throws an unexpected exception when attempting to delete a duplicate durable subscriber on JMSServer boot.

CR215767