| JRun 4 Service Pack 1a Release Notes
JRun 4 Service Pack 1a for Windows®, UNIX,
and Linux
Last Updated
June 29, 2004
These Release Notes contain the following information about
JRun 4 Service Pack 1a:
Click here
to view Release Notes for the base JRun 4 release.
JRun Known Issues is a separate document, available
at http://www.macromedia.com/v1/Handlers/index.cfm?ID=22790&Method=Full.
Introduction
The JRun 4 Service Pack 1a upgrades JRun 4 and JRun 4 SP1
installations. It includes all the SP1 updates. You are
not required to install SP1 before installing SP1a.
Product editions
JRun 4 SP1a is an update to JRun 4 SP1 and JRun 4. It includes
updated DataDirect JDBC drivers.
An updated SDK is available for OEMs from the Macromedia
website.
Service Pack contents
New features and previously undocumented features are described
in the JRun Service Pack 1 Guide, a separate document
available in the Service Pack install and at http://livedocs.macromedia.com/jrun4docs/JRun_Service_Pack_1_Guide/contents.htm.
Installation
System requirements
- Memory - 64MB minimum, 128MB recommended
- Disc Space - 40MB minimum, 80MB recommended
- Java Runtime Environment - JRE 1.3.x, JRE 1.4.x
Supported operating systems
- Windows 98/ME/NT/2000/XP
- Solaris 7,8,9
- Red Hat Linux 6.2, 7.x
- SuSE Linux 7.3, 8.0
- HP-UX 11i
- IBM AIX 4.3, 5.x
- Compaq Tru64 5.1 UNIX
Supported platforms for web server connectors
JRun 4 Service Pack 1a supports the following web servers
on these platforms:
| |
IIS 4.0 |
IIS 5.x |
Apache 1.3, 2.0 |
Netscape (iPlanet) 4.0,
6.0 |
Zeus 3.3.x, 4.x |
| WinNT 4.0 |
X |
|
|
|
|
| Win2K |
|
X |
X |
X |
X |
| WinXP |
|
X |
|
|
|
| Win98 |
X |
|
|
|
|
| WinME |
X |
|
|
|
|
| RedHat Linux 6.2, 7.x |
|
|
X |
X |
X |
| Solaris 7, 8, 9 |
|
|
X |
X |
X |
| HP-UX 11 |
|
|
X |
|
|
| Tru64 v5.1 |
|
|
X |
|
|
| IBM AIX 4.3, 5.x |
|
|
X |
|
|
| SuSE Linux 7.3, 8.0 |
|
|
X |
|
X |
| WinXP (64 bit Itanium) |
|
X |
|
|
|
| RedHat Linux 7.x (64 bit Itanium) |
|
|
X |
X |
|
| HP 11i (64 PA_RISC) |
|
|
X |
X |
|
NOTE: For 64 bit HP-UX/PA-RISC, the connector is 32 bit
and will deploy but not load in a 64 bit Apache server.
Users need to recompile the connector manually on the 64
bit system for 64 bit Apache.
Installation procedure
Upgrade installation
The Macromedia JRun 4 Updater upgrades an existing JRun
4 installation. Before running the Macromedia JRun 4 Updater
to install JRun 4 Service Pack 1a, perform the following
steps:
- Stop all JRun 4 services on your computer.
- Note the location of your JRun 4 installation root directory
(for example, c:\jrun4).
To upgrade your JRun 4 installation with the Service Pack:
- Download and run the EXE or BIN file for your operating
system.
- Follow the instructions in the installation wizard,
and let it run to completion.
- Delete the contents of the SERVER-INF/temp directory
for each JRun server.
- After the installation is complete, restart JRun services
and, if necessary, your web server.
Note: JRun 4 Service Pack 1a creates
a directory, sp-backup, containing a copy of all the files
that the Service Pack overwrites.
Full installation
For a full installation of JRun 4, containing Service Pack
1a, follow the JRun 4 installation procedure at: http://livedocs.macromedia.com/jrun4docs/Installing_JRun/contents.htm.
Note: If you uninstall JRun 4 before performing
a full install and you have installed any patches, be sure
to delete jrun_root/servers/lib/jrun-patch.jar
after running the uninstall. Failure to remove jrun-patch.jar
in this situation can cause server startup problems. JRun
4 Service Pack 1a includes the SP1 updates and all pre-SP1
patches.
New features
The JRun Service Pack includes the following new features:
EJB enhancements
- New CMP store manager that lets you access existing
tables through CMP 2.0 entity beans.
- EJB interceptors: Service Pack 1a includes an extension
of the EJB architecture that lets advanced users define
custom interceptors.
- Enhanced EJB metrics.
JNDI security enhancements
- A new security scheme that prevents unauthorized access
to objects accessible through the JRun JNDI context, including
EJBs, data sources, clusterable JRun services, and JMS
objects.
- An interface you can use to customize your own JNDI
security. You can use custom connection filtering to apply
more granular control over the host-based authentication
that the security.properties file allows, or you can extend
it to include custom logic of your own.
- Service Pack 1a supports server-specific login and limits
access to servers from the JMC.
Other security enhancements
- Service Pack 1a supports custom principals and using
JRun 3.1 custom security implementations.
Data source enhancements
- Service Pack 1a supports the passing of additional data
source connection arguments.
- Additional database vendor support for CMP1.1 and CMP2.0
(PostgreSQL and mySQL).
- Includes new JDBC metrics.
Web Server Configuration tool
- Apache 2.0.40 web server is now supported (and required)
by the Apache web server connector.
- Includes support for Solaris 9.
- Supports custom load-balancing implementations.
XDoclet
- Includes enhancements that let you customize XDoclet
features.
Web services
- Includes a new web services implementation, using Apache
Axis 1.0 RC1.
- Fully JAX-RPC compliant.
Updated DataDirect drivers
- Includes updated JDBC drivers.
Enterprise Deployment Wizard
The Enterprise Deployment Wizard includes the following
new functionality:
- Improved CMP 2.0 support.
- Generates web services from EJBs.
- View Project files.
- Compiles EJB class files.
- Integrates with IntelliJ IDEA 3.0, JBuilder 6, and JBuilder
7.
- Revised user interface.
- Enhanced online Help that contains how-to topics for
many common tasks, including step-by-step instructions
for compiling, assembling, packaging, and deploying EJBs.
For more information, see JRun Service Pack 1 Guide
accessible from jrun_root/docs/dochome.htm or at http://livedocs.macromedia.com/jrun4docs/JRun_Service_Pack_1_Guide/contents.htm.
Other features
- Service Pack 1a includes custom ant tasks for start/stop,
deploy/redeploy/undeploy, and access to JRun services
through JMX. For more information, see the ant documentation
at jrun_root/docs/ant/jrun.html.
Resolved issues
JRun 4 Service Pack 1a includes the following fixed bugs:
- 37715 - You can now deploy across a cluster to
a server that is not set up to resolve the IP address
to the server name (for example, no entry in the /etc/hosts
file on UNIX).
- 37730 - Fixed a problem with transactions not
being processed in certain high-volume situations.
- 39093 - Fixed a problem with rolled-back
transactions in certain high-volume situations.
- 39404 - Fixed a problem forwarding
from a JSP to a previously uncompiled JSP.
- 39501 - The JMC now enables the proxy
service for a server added to a cluster that is using
connectors. If you create a cluster in which one or more
servers are using connectors, the JMC alerts you to configure
the connector to refer to the cluster, rather than the
individual servers.
- 39734 - On startup, the JRun installer
now creates the jrun_root/logs directory before
a JRun service starts.
- 44389 - The samples server PointBase
service now successfully starts the databases when using
JDK 1.4.x on Windows 2000.
- 44614 - Specifying the JMS client-jndi
provider-url in the jrun-jms.xml file is now optional
and not included in the server template. By default, it
uses the JRun server JNDI provider.
- 44649 - JRunConfig settings are now
written in the Apache httpd.conf file, so the LoadModule
appears before any VirtualHosts settings in the file.
- 44777 - If you install a web server
connector for a cluster of JRun servers with a local web
server on the localhost computer, all the servers in the
cluster are added using their IP addresses. If there is
a jrunserver.store file, it has the computer IP address
for each JRun server.
- 44859 - EJB custom primary key classes
for entity beans no longer must be in the system classpath
for remote invocations.
- 45616 - In session.setAttribute,
passing a null value to setAttribute
has the same effect as calling removeAttribute.
- 45675 - You get an error message if
a Java compiler is not in the executable search path when
JRun starts. You can resolve this by adding the JDK's
bin directory to your path environment variable.
- 45729 - JRun now dynamically reloads
JSP and servlet helper classes when modified.
- 45732 - JRun 4 Service Pack 1a includes
a new CMP store manager (the JRun component that manages
CMP persistence) that lets you access existing tables
through CMP 2.0 entity beans. For more information, see
JRun Service Pack 1 Guide.
- 45900 - In some high-volume situations,
the IIS connector DLL produced an access violation with
very large headers or URLs. This has been fixed.
- 45936 - JRunStatement.execute(sqlString)
now calls statement.execute
and examines the result when deciding whether to populate
JRunResult, depending on the native-results flag.
- 45950 - You can use JBuilder 6 with
the Enterprise Deployment Wizard.
- 46026 - The JMS now correctly handles
queues of more than five messages.
- 46059 - When creating a data source
using the JMC, the Oracle 8 OCI URL was listed incorrectly.
It now reads "jdbc.oracle.oci8:@sid".
- 46148 - The EJB container no longer
calls setEntityContext
and ejbActivate
for each method call.
- 46190 - JRun correctly handles whitespace
surrounding a numeric value.
- 46243 - JRun correctly handles query
strings when using getRequestURI
with getRequestDispatcher.
- 46286 - Fixed a JRun 4 security issue.
- 46300 - The Web Server Configuration
tool can now display all existing IIS websites.
- 46328 - Debug is set to false in the
TwoFish algorithm.
- 46394 - Fixed session swapping so that
JRun maintains a fixed number of sessions in memory and
saves the rest (oldest) in the persistence store (file,
JDBC, or custom class).
- 46424 - Apache 2.0.40 web server is
now supported (and required) by the Apache connector.
- 46449 - Fixed problems with prepareCall
method and CallableStatements.
- 46506 - Fixed the data source skimmer-frequency
to evaluate and add connections, as appropriate.
- 46560 - Fixed a JRun 4 security issue.
- 46562 - Fixed a potential logfile and
.ini file disclosure issue.
- 46580 - Fixed the problem of jsp:param
not being able to handle a primitive value (int, double,
long).
- 46594 - Fixed a problem with RequestDispatcher.forward(new
HttpServletRequestWrapper(req), res).
- 46599 - Inner class on JSP pages now
work correctly.
- 46603 - You can now use a custom authentication
class with a custom principal. For more information, see
the JRun Service Pack1Guide.
- 46668 - For updating web server connectors,
JRun 4 Service Pack 1 adds a command line switch to upgrade
a single website with the latest connector and one to
upgrade all connectors. If the installed connector is
the the same or newer than the connector in the wsconfig.jar,
it is not upgraded. For more information, see JRun
Service Pack 1 Guide.
- 46689 - The Web Server Configuration
tool now works with Apache StrongHold.
- 46691 - Apache 1.3 and 2.0 can resolve
servlet URL mappings that differ only by a trailing slash
(/).
- 46706 - Under certain conditions, a
heap overflow occurred with the IIS connector. This has
been fixed.
- 46733 - Setting verbose=false (default)
in the jrun.ini still outputs logging and failures to
the jrun connector logs when using the IIS / ISAPI filter.
- 46772 - Fixed errors in Apache Stronghold
configuration.
- 46813 - When using getBoolean on a
bit column, it now correctly returns FALSE if the bit
is 0, and TRUE if the bit is 1.
- 46818 - You can now create and edit
a local-only EJB using the EJB Deployment Wizard.
- 46841 - The EJB Deployment Wizard now
correctly generates code for LocalHome and Local interfaces.
- 46855 - You can now call a servlet
defined in the web.xml file, by passing in a JSP or a
servlet class.
- 47076 - Fixed session context information
(caller principal) passed to session beans.
- 47133 - You can now configure additional
properties for the data source connection. For more information,
see JRun Service Pack 1 Guide.
- 47145 - Fixed the log viewer to escape
angle bracket (<>) characters.
- 47150 - Security authentication and
authorization fixes for Flash Remoting MX.
- 47239 - Under certain conditions, JRun
erroneously created a directory when a JSP page was requested.
This has been fixed.
- 47480 - Enhanced entity bean performance
with commit transactions.
- 47481 - The EJB container no longer
calls setEntityContext
every time ejbFindByPrimaryKey
is called.
- 47524 - Fixed the problem of bypassing
web application security, when security is set for *.jsp
extension.
- 47542 - Fixed the problem with load-system-classes-first
not working correctly for getResource(s) calls.
- 47558 - Enhanced JDBC metrics logging.
For more information, see the JRun Service Pack 1
Guide.
- 47577 - When using the Enterprise Deployment
Wizard to create CMP, the get and set methods of generated
code now throw RemoteException.
- 47618 - The EJB Deployment Wizard now
correctly generates resource-ref information in the jrun-ejb-jar.xml
file.
- 47724 - Settings for some JavaMail
properties of individual mail session resources (configured
in the jrun-resources.xml file) now overwrite the default
settings for those properties (configured in jrun.xml).
- 48010 - (SP1a) The statement.setMaxRows()
was not returning the full ResultSet. This has been fixed
with updated JDBC drivers.
- 48585 - (SP1a) Stored procedures
with a parameter were throwing java.sql.SQLException exceptions.
This has been fixed with updated JDBC drivers.
- 48626 - (SP1a) Pooled prepared
statements were failing under load. JRun would return
"Object has been closed" or "No more data available to
read" errors. This has been fixed with updated JDBC drivers.
- 48644 - (SP1a) Database performance
has been increased.
Other SP1a changes, additions,
and notes
The following lists describes late-breaking changes, additions,
and other information:
- Existing CMP 2.0 entity beans—If
you deployed CMP 2.0 entity beans with the JRun 4 base
release, you must remove the automatically generated tables
before accessing the beans through the SP1 store manager.
To remove the tables, use the InitDatabase utility, described
in JRun Programmer’s Guide. To continue
accessing the existing tables, use the Greylock store
manager, described in JRun SP1 Guide. In particular,
if you ever started the JRun 4 samples server, tables
were created for the CMP 2.0 entity bean example. You
must remove these auto-generated tables before using the
CMP 2.0 examples with JRun 4 SP1.
- ColdFusion MX for JRun 4—If you
are running ColdFusion MX for J2EE on top of JRun 4 SP1,
you must resolve the conflict between Axis engines by
performing the following steps:
- Add the following top-level element to the cfusion/WEB-INF/jrun-web.xml
file (note that this change disables web service support
for JSPs and servlets within the coldfusion web application):
<enable-jrun-web-services>false</enable-jrun-web-services>
- Specify false for the load-system-classes-first
element in the cfusion/WEB-INF/jrun-web.xml file.
- In the JRun server that runs ColdFusion MX, disable
web services for the default application by specifing
false for the enable-jrun-web-services
element in default-ear/default-war/WEB-INF/jrun-web.xml
or delete the default-ear/default-war/WEB-INF/server-config.wsdd
file.
- Delete jrun_root/servers/lib/jrun_axis.jar
or move it to a location outside of JRun. This JAR
file addressed issues that are fixed in JRun 4 SP1
and will cause server startup problems if allowed
to remain in servers/lib.
- Using the JMC with JNDI security—The
JMC allows limited access to JRun servers that disallow
guest access. Regardless of guest access specifications,
you can use the JMC to start a server, view server status,
and perform offline administration. If you use the JMC
to stop a server that disallows guest access, you will
be prompted for a user name and password before stopping
the server.
- Using the launcher with JNDI security—To
use the launcher to manage a JRun server, the server must
either allow guest access or include credentials in SERVER-INF/jndi.properties
that allow JNDI lookups of jrun:service/JRunAdminService,
jrun:service/JRunServer and jrun:service/<server></server>/JRunAdminService.
To specify credentials in jndi.properties add java.naming.security.principal=<user-name>
and java.naming.security.credentials=<password>.
If the launcher does not have permission to manage the
server, it will display a server status of N/A, and the
start, stop, and restart buttons will be disabled when
the server is selected.
To use the command line to stop or restart a server that
disallows guest access, either specify credentials in
jndi.properties or use the following new syntax:
jrun stop|restart
server [server, ...] -username <username> -password
<password>
|