Release Notes for Pramati Server 4.1 SP4


Release Notes
Server 4.1 SP4 | Platform Certification
Server 4.1 SP3 | Platform Certification
Server 4.1 SP2 | Platform Certification
Server 4.1 SP1 | Platform Certification
Server 4.1 GA Release | Platform Certification

Resource

[TOP]

Features and enhancements

FeatureDescriptionServer ConfigurationApplication Configuration

Connections discarded only if necessary

Connections are discarded only if there is an error reported from the resource manager. Earlier unnecessary discards were leading to poor user experience and performance.

None.

None.

More options for connection vaidations

Connections can be validated when they are being taken out of the pool or being put back into the pool. Earlier connections in the pool were validated periodically.

New attributes on-acquire and on-release have been added to the connection-validation tag in pramati-resource-service_4_1.dtd

None.

Faster connection creation

A better connection pool provides higher performance where connections take a long time to create.

None.

None.

status resource shows transaction isolation level

None.

None.

None.


Key bug fixes

Fix ForDescriptionServer ConfigurationApplication Configuration

Incomplete error reporting

Error messages were not logged during resource creation.

None.

None.

Inconsistent behaviour when runtime exceptions from a custom JMS provider

Such exceptions are now converted to JMSExceptions.

None.

None.


Web

[TOP]

Features and enhancements

FeatureDescriptionServer ConfigurationApplication Configuration

Prevention of HTTPS session ID stealing

Since the session ID cookie is shared between HTTP and HTTPS requests, a hacker may steal the HTTP session ID and use it to access secured pages. From SP4 release on, the Server sets another secure secret cookie and pairs it with the HTTP cookie. Access to secured pages are validated by matching the pair. The cookie is not set while accessing HTTP pages and therefore not revealed to the hacker.

Add the tag true to ssl-config in web-config.xml.

None.


Key bug fixes

Fix ForDescriptionServer ConfigurationApplication Configuration

RuntimeOperationsException while removing a virtual host.

Deleting a virtual host using the Management Console results in a ROE.

None.

None.

Host header not ignored when absolute URI was served

When a HTTP request is made with an absolute URI, the host header was not being ignored.

None.

None.

Inconsistent beheavior of loadOnStartupServlet

When an EAR with multiple WARs using LoadOnStartupServlets was deployed, some of the WARs did load on startup.

None.

None.

LastModified header sometimes missing, leading to inconsistent refresh.

In some scenarios, the Server was not setting the LastModified header for a response. So, on a refresh the browser was not sending an IfModifiedSince request.

None.

None.

Application accessible before executing loadOnStartupServlets.

The sequence of loadOnStartupServlet init and servlet filter init has been modified to match Servlet 2.5 specifications.

None.

None.

Character encoding errors when fetching multi-lingual data from query string or POST data.

Now request character encoding is used. If a request's encoding has not been set, the encoding specified in the system property com.pramati.web.defaultencoding is used. If this system property too is not specified, data is assumed to be in ISO-8859-1 format.

A system property com.pramati.web.defaultencoding has been added to set the default encoding

None.

Server Administration

[TOP]

Key Bug Fixes

Fix forDescriptionServer configurationApplication Configuration

Missing statistics for PreparedStatement execution time.

The Management Console pages were not displaying the prepared statement when displaying its time taken.

None.None.

Clean shutdown with Windows service

Shutting down Windows service now cleanly shuts down the Server.

None.None.

JMS

[TOP]

Key Bug Fixes

Fix forDescriptionServer configurationApplication Configuration

Application classes not loading for synchronization objects registered in an MDB

If a Synchronization object is registered with a transaction in an MDB's onMessage, application classes were not available during the beforeCompletion callback. The callbacks now happen with the application context classloader set.

None.

None.

Resources locked if a BeanManagedTransaction is not rolled back in a MDB

If a user transaction is not commited in an MDB, it is automatically marked for rollback and a message is logged

None.

None.


Features and enhancements

FeatureDescriptionServer ConfigurationApplication Configuration

Deploy MDB using non-XA connection factories.

MDBs can now be deployed on non-XA connection factories also.

None.

A new attribute type has been added to the conn-factory tag in pramati-j2ee-server.xml. The default value of the type depends on the destination-type specified in the ejb-jar.xml. If the destination-type is javax.jms.Queue, then the type value is taken as javax.jms.XAQueueConnectionFactory otherwise it will be taken as javax.jms.XATopicConnectionFactory.

Transparent auto-recovery now available on JDK 1.5

When there is network outage problem, the Pramati JMS Client Container transparently recovers the JMS Connections when the network comes up.

1. In server-config.xml, change the socket-timeout-seconds to 30 seconds under client-socket-properties
2. Set the connection-timeout-millis to a higher value in jms-config.xml. This should be set to the maximum time the network is expected to be down. If a network outage lasts longer than this value, the client has to be restarted.

Set the system property com.pramati.jms.connectionRetry to true in the application client.

Destination password in plain text

The destination passwords in pramati-j2ee-server.xml were always in encrypted form. Developers hand-coding the XML might prefer to store the password in plain text format. This can be done now by setting the attribute masked="false" for the tag destination-password.

None.

A new attribute masked has been added to the tag destination-password. Its default value is true. Users wanting to store plain text password should set its value to false.


Security

[TOP]

Features and enhancements

FeatureDescriptionServer ConfigurationApplication Configuration

Inconsistent behavior of custom principal in custom login modules

Inconsistent behavior when a login module used a custom principal class (which extends com.pramati.security.util.User class).

None.

None.


New Feature/Enhancement

FeatureDescriptionServer configurationApp configuration

Configuring supported protocols for SSL

Users can now configure the protocols to be supported by SSL

Set the system property com.pramati.ssl.protocol to the desired value. The default value is TLS

None.


EJB

[TOP]

Key Bug Fixes

Fix forDescriptionServer configurationApplication Configuration

Client jars not created sometimes

When beans have custom pk classes, client jars were not getting created. This has been fixed.

None.

None.

Errors when using Stateless beans with no-lock option

When Stateless beans (SLSBs) were configured with no-lock option, the container used to raise some exceptions. This has been now fixed. Since 4.1 SP3 the default locking mechanism for SLSBs has been changed to method level locking. Customers are requested to use that instead

None.

None.


New Feature/Enhancement

FeatureDescriptionServer configurationApplication Configuration

Stubs not required in application classpath

When an startup-hook/application deployed on an app server is looking up ejbs from another application deployed in the same app server instance, there is no longer a need to put the client stubs in the classpath

None.

None.

Cluster

[TOP]

New Feature/Enhancement

Fix forDescriptionServer ConfigurationApplication Configuration

Integrating the earlier Single Lock Server node concept with that of Primary Node.

None.

None.

None.

Singleton service available for Server Cluster.

By registering a Singleton Service with the Server Cluster Framework, developers can ensure that the functionality in the service is executed in only one Cluster node at a time. If that node goes down, the service will be automatically restarted on another node.

To create a singleton service, you can do one of the following:

A. Register the service using the Application Startup Hook. If the service accesses application components, register it as part of the applicationStarted() event of the application hook. When the application is stopped, the service automatically de-registers.

B. Register the service using the Server Startup Hook. If the service does not access any application component and is an independent service, register it from the Server Startup Hook.

None.


Known Issues

IssueDescriptionWorkaround

JMS cluster nodes will not start

JMS cluster node always exits with the message "Service (SingletonServiceManager) depends on Service (DeployService), which has not been defined."

Edit each node's server-config.xml and change the tag service name="SingletonServiceManager" enabled="true" to service name="SingletonServiceManager" enabled="false". If this manual change is not feasible, a patch for resolving this can be requested from Pramati Support.


J2EE Core/Deployment/ServerUtils

[TOP]

Key Bug Fixes

Fix forDescriptionServer configurationApplication Configuration

Memory leak

The memory leak was caused by ThreadLocals.

None.

None.


New Feature/Enhancement

FeatureDescriptionServer configurationApplication Configuration

A new default-web.xml has been introduced.

The application xml is preferred over this XML.

New configuration file default-web.xml

None.


Known Issues

IssueDescriptionWorkaround

Unexpected behavior when running ANT tasks.

Pramati ANT Task fails with java.lang.NoClassDefFoundError:com/pramati/RemoteShell$1

Modify the value of classpath attribute in Pramati ANT task to include /lib/pramati/classpath.jar.


Unexpected HTTP 404 error.

On executing rundemoserver script, the browser is launched with "404 page not found" error.

Access http://localhost:8181/demopageWeb/index.html instead.


Installer

[TOP]

Known Issues

IssueDescriptionWorkaround
Missing scripts on installation.

Some scripts are missing when Server is installed using PServer41.jar

Use java -jar PServer41.jar -cmdLine instead.


Copyright 2006, Pramati Technologies Private Limited.