JBoss 4.0.5.CR1 Release Notes
This is the jboss-4.0.5.CR1 release for the Java EE 1.4 codebase. For
information on the APIs that make up Java EE 1.4, see
Java EE v1.4 Documentation.
For a comprehensive tutorial on Java EE 1.4, see
The Java EE 1.4 Tutorial.
A jboss-4.0.x getting started guide that is based on contents from the tutorial
can be found in JBoss Application Server Documentation Library
JBoss releases follow our new product versioning rules.
Note: The JBossAS installer allows for arbitrary profiles of the
underlying microkernel, including previews of future technologies
such as EJB3 which by definition are not Java EE certified.
Only the default and all installer profiles with isolation/call by
value enabled correspond to Java EE certified profiles.
Overview
- With the update to JBossCache 1.4.0.SP1 JBoss now supports scalable Buddy
Replication for replicating http sessions. Note that this is *not* the
configured default, see
JBAS-3297
- The new JBoss WebServices
stack, has been updated to v1.0.3.GA, see the
release notes.
- The EJB3 RC8+ preview has been updated to match the current proposed
final draft. The EJB3 Trailblazer
is a good introduction to JBoss/EJB3.
- The JGroups stack has been configured for improved Failure Detection
(FD), JBAS-3004.
- JBossMQ can be configured to support XA Recovery, when used with
JBoss Transactions
(experimental),
JBAS-1341.
- Keystore passwords for Tomcat connectors can now be encrypted,
JBAS-3369.
- Added support for advanced security role mapping,
JBAS-3323.
-
Tomcat Authenticators have been externalized, to allow integration with
3rd-party identity management solutions.
- Datasource connections can be validated in the background,
JBAS-1241, and
connection pools can be pre-filled,
JBAS-1466.
- Access control for coarse grained operations (attribute set, operation
invocations) for the JMX console,
JBAS-3311.
- EAR applications can now specify the exact order of sub-module
deployment, rather than rely in implicit ordering,
JBAS-2904.
- HiLoKeyGenerator can now be used in a clustered setup,
JBAS-3266.
- JNDIView MBean now shows the ENC of deployed web applications,
JBAS-3547.
Plus more than 60 bug fixes, see the Detailed Release Notes
section for the full details.
This lists the changes that could affect compatibility.
- The web container is now configured by default to abort any active
transactions at the end of a request. This is the Java EE specified
behavior, but it can be turned-off, if necessary,
JBAS-3242.
- Our implementation of javax.management.timer.Timer (when running under
jdk1.4) now supports fixed-delay periodic execution in addition to
fixed-rate, and this is now the default (JBAS-3281)
for the JMX timer. This affects the schedule manager (JBAS-3282)
and the TimerService (JBAS-3391
that now have an additional FixedRate attribute to establish the old
fixed-rate behavior.
- The EJB3 preview has been updated to match the current EJB3 draft. See
EJB3 Wiki for a
list of the documented issues.
This lists the changes that could affect configuration.
- The JBossAS distributions now include the installer (.jar), the sources
(.tar.gz) and the canonical binary release (.zip). Unzipping the binary
distribution (.zip) with a native unzip utility will restore correctly the
executable permission in the /bin/*.sh files. However, unzipping using the
JDK jar utility ignores the executable bit, so this need to be set manually.
- The -server flag is not supported by the IBM JVM, so it now
conditionally set by the run.sh/run.bat scripts,
JBAS-3458.
Note that as of the 4.0.1 release, the distributed configurations have
switched back to the 3.2.x types of distribution configurations:
- minimal: a minimal microkernel with logging, JNDI and hot deployment
support
- default: a base level Java EE 1.4 application server configuration
- all: a full Java EE 1.4 server configuration with clustering and all
optional services
The standard configuration from the 4.0.0-4.0.1RC1 releases has been dropped
and the default flat class loading model from 3.0.x-3.2.x has been restored
for
the default configuration. This change in behavior was done to restore
consistency with the 3.2.x class loading model. The 4.0.0 scoped class
loading
behavior and call by value JNDI lookup behavior can be restored by:
- Editing conf/jboss-service.xml and setting the NamingService CallByValue
to true:
<mbean code="org.jboss.naming.NamingService"
name="jboss:service=Naming">
<!-- The call by value mode. true if all lookups are unmarshalled
using
the caller's TCL, false if in VM lookups return the value by reference.
-->
<attribute name="CallByValue">true</attribute>
<!-- The listening port for the bootstrap JNP service. Set this to
-1
to run the NamingService without the JNP invoker listening port.
-->
...
</mbean>
- Editing the deploy/ear-deployer.xml and setting the Isolated and
CallByValue attribute to true:
<server>
<!-- EAR deployer, remove if you are not using ear deployments -->
<mbean code="org.jboss.deployment.EARDeployer"
name="jboss.j2ee:service=EARDeployer">
<!-- A flag indicating if ear deployments should have their own scoped
class loader to isolate their classes from other deployments.
-->
<attribute name="Isolated">true</attribute>
<!-- A flag indicating if the ear components should have in VM call
optimization disabled.
-->
<attribute name="CallByValue">true</attribute>
</mbean>
</server>
JBoss Library Updates
- javassist, upgraded to v3.3.0.GA (from v3.2.0.CR2)
- jboss-aop, upgraded to v1.5.1.GA (from v1.5.0.GA)
- jboss-cache, upgraded to v1.4.0.SP1 (from v1.2.4.SP2)
- jboss-common, introduced at v1.0.0.CR1
- jbossretro-rt, upgraded to v1.0.2.GA (from v1.0.0.GA)
- jbossws, upgraded to v1.0.3.GA (from v1.0.0.GA)
- jbossxb, upgraded to v1.0.0.CR6 (from v1.0.0.CR4)
- jboss-serialization, upgraded to v1.0.2.GA (from v1.0.0.GA)
Thirdparty Library Updates
- apache-beanutils, upgraded to v1.7.0 (from v1.6.0)
- apache-coded, upgraded to v1.3.0 (from v1.2.0)
- apache-collections, upgraded to v3.1 (from v2.1)
- apache-lang, v1.0 removed
- apache-myfaces, upgraded to v1.1.3 (from v1.1.1)
- apache-xmlsec, upgraded to v1.3.0 (from v1.2.97)
- jacorb, upgraded to v2.2.4jboss-patch1 (from v2.2.3)
- sun-jaf, upgraded to v1.1 (from v1.0.2)
- sun-javamail, upgraded to v1.4 (from 1.3.1)
Includes versions: JBossAS-4.0.5.CR1
Feature Request
- [ JBAS-1241 ] ConnectionPools - Background validation required
- [ JBAS-1466 ] Prefilling Pools
- [ JBAS-1705 ] Implement getFixedRate() and add fixed-rate notification inTimerMBean, as of JMX1.2
- [ JBAS-2144 ] Scheduled task interval calculated from stop to start instead of start to start
- [ JBAS-2587 ] ValidConnectionChecker implementation for MS SQL Server
- [ JBAS-2609 ] Investigate bundling of tomahawk, and why it cannot be deployed in a web app
- [ JBAS-2904 ] Allow for ear modules to be deployed in the order that they are declared in application.xml
- [ JBAS-3115 ] Extend ValidConnectionChecker semantics to include non JDBC based resources
- [ JBAS-3217 ] add JBOSS_CONF, JBOSS_HOST variables to jboss_init_redhat.sh
- [ JBAS-3229 ] HiLo generator shoudn't always re-create the table at startup
- [ JBAS-3266 ] HiLoKeyGenerator is not cluster-safe
- [ JBAS-3290 ] update myfaces libraries to newest release
- [ JBAS-3297 ] Use Buddy Replication for HttpSession replication
- [ JBAS-3311 ] Access Control on JMX Operations in the JMX Console
- [ JBAS-3323 ] Role Mapping Login Module that maps application role to declarative role
- [ JBAS-3369 ] Add support for encrypting the tomcat server.xml keystore/truststore attributes
- [ JBAS-3391 ] Add FixedRate setting to org.jboss.monitor.services.TimerService (used to configure JMX Timers)
- [ JBAS-3395 ] ValidConnectionChecker for IBM DB2 AS400 environment
- [ JBAS-3466 ] JMS PersistenceManager: org.jboss.mq.SpyJMSException: Could not remove message when using MySQL DB
- [ JBAS-3506 ] Maintain the server logs for the different testsuite clustering configs
- [ JBAS-3547 ] Display ENC for web applications in JNDIView
- [ JBAS-3575 ] Standalone server configuration for HA-JMS
Bug
- [ JBAS-940 ] Unecessary alias in SQL
- [ JBAS-1322 ] Farm service fails to deploy correctly on startup
- [ JBAS-2182 ] JBoss doesn't support overloaded methods in SEIs
- [ JBAS-2950 ] HAPartition starts successfully even if state transfer fails
- [ JBAS-3178 ] Fix oid-sorting in the snmp-adaptor
- [ JBAS-3180 ] Broken MBean operation ServerInfo#displayInfoForClass(String)
- [ JBAS-3194 ] Proxies for HAServiceMBeanSupport subclass unbound across cluster when any instance undeployed
- [ JBAS-3210 ] DynamicLoginConfig service fails to load login-config.xml that may be absolute
- [ JBAS-3212 ] Externalized Tomcat Authenticators not compiled in
- [ JBAS-3214 ] Fresh 4.0.4GA/EJB3 install fails to boot because server/default/conf/jboss-service.xml is missing
- [ JBAS-3216 ] PooledInvokerProxy.getPooledConnection() is not threadsafe
- [ JBAS-3219 ] Error on lookup From a clustered SLSB to another clustered SLSB
- [ JBAS-3220 ] ejb3.deployer lost the javassit bytecode provider changes
- [ JBAS-3223 ] NullPointerException thrown in BadAttributeValueExpException.toString
- [ JBAS-3225 ] Installer doesn't contain srp libraries
- [ JBAS-3227 ] JNDIView.getHAJndiAttributes NPE
- [ JBAS-3239 ] Input stream reads binary from the db is closed twice
- [ JBAS-3242 ] EE spec requires that web container aborts any active txn at the end of a request
- [ JBAS-3246 ] Run.bat displays periods instead of blank lines
- [ JBAS-3258 ] JDBC artificats should throw SQLException when already closed
- [ JBAS-3260 ] JNDI-View.list() throws NPE
- [ JBAS-3271 ] Memory leak on org.jboss.deployment.SimpleSubDeployerSupport
- [ JBAS-3279 ] Authenticated user can bypass declarative role checks for servlets
- [ JBAS-3281 ] javax.management.timer.Timer should perform fixed-delay periodic execution by default
- [ JBAS-3282 ] ScheduleManager MBean uses fixed-rate execution on Java 1.4 and fixed-delay execution on Java 5.0
- [ JBAS-3287 ] Credential object typing is not consistent
- [ JBAS-3296 ] SpyObjectMessage loses original cause of exception when message payload has non-serializable fields
- [ JBAS-3310 ] Remotely initiated sessions are not cleared from the JBoss Cache upon expiration
- [ JBAS-3313 ] Static logger initializer incorrectly using DomainSocketFactory in ClientSocketFactory, causing ClassNotFoundException on client side.
- [ JBAS-3318 ] Secondary http sessions in a cross-context request are not replicated
- [ JBAS-3320 ] Web services JBWS309 test failing as jboss-bean.deployer is not included in the custom server
- [ JBAS-3328 ] HiLoKeyGenerator.generateKey is not thread-safe
- [ JBAS-3336 ] Destroy connections after a ResourceManager failure
- [ JBAS-3341 ] Entity container is not ready after its startService
- [ JBAS-3347 ] commons-logging 1.0.5.GA-jboss broke log4j %C pattern format
- [ JBAS-3358 ] Work directory for the web app shouldn't be deleted on Context Destroy
- [ JBAS-3360 ] No ability to override CMD_STOP in JBOSS_HOME/bin/jboss_init_redhat.sh
- [ JBAS-3362 ] Foreign key index is created on the wrong table
- [ JBAS-3367 ] NPE in SimpleSubDeployerSupport.unregisterClassLoader(), during destroy(DeploymentInfo)
- [ JBAS-3370 ] Bug in XA Recovery implementation: java.sql.SQLException: ORA-00932: inconsistent datatypes: expected BLOB got NUMBER
- [ JBAS-3381 ] The
- [ JBAS-3394 ] ejb3 installer has bindingservice-plugin.jar missing
- [ JBAS-3421 ] AcceptNonWarDirs attribute of AbstractWebContainerMBean not exposed for .war deployer
- [ JBAS-3428 ] org.jboss.ejb.SecurityActions.getMBeanProxy duplicating proxies
- [ JBAS-3439 ] DelegatingPolicy: preload of ContextPolicy required for jrockit
- [ JBAS-3448 ] LdapExtLoginModule can leak connections
- [ JBAS-3458 ] Out of synch run.bat/run.sh, hotspot -server usage
- [ JBAS-3471 ] Shutdown of 'jbossws14.sar#jbossws.beans' produces WARNing
- [ JBAS-3485 ] Test failure - org.jboss.test.web.test.WebIntegrationUnitTestCase
- [ JBAS-3486 ] Unable to find deployment resources - org.jboss.test.securitymgr.test.WarPermissionsUnitTestCase
- [ JBAS-3503 ] Clustering testbeancluster test failures - Deployment Error
- [ JBAS-3513 ] adding to webapp's web.xml causes ERROR on startup in default server profile
- [ JBAS-3528 ] HttpSession isNew() inaccurate if the 2nd request for the session is on different server
- [ JBAS-3541 ] JDBCParameterSetter is not used for query parameters
- [ JBAS-3545 ] HASessionState state transfer incorrect for replicated sessions
- [ JBAS-3555 ] LdapExtLoginModule fails if no initial bind credentials are supplied but anonymous login would be possible
- [ JBAS-3558 ] Service(Proxy) should be transient in ServiceContext
- [ JBAS-3561 ] InvokerInterceptor.invokeLocalMarshalled is not marshalling PayLoad and invocationContext
- [ JBAS-3566 ] Invalid mbean code reference in mssql-jdbc2-service.xml
- [ JBAS-3573 ] Failure to remove a message should result in a NACK + error
- [ JBAS-3584 ] WARNing logged when deploy-hasingleton is undeployed twice
- [ JBAS-3585 ] Duplicate undeployment of unpacked nested modules on jboss shutdown
Task
- [ JBAS-1341 ] XA Recovery
- [ JBAS-1477 ] Pass in the security-domain name to the login modules for error reporting
- [ JBAS-2654 ] Validate Hosts defined under a tomcat service
- [ JBAS-2899 ] Externalize Tomcat Authenticators at the Host Level
- [ JBAS-3004 ] Use a combination of FD and FD_SOCK in the default JGroups protocol stack.
- [ JBAS-3116 ] JCA Exception Sorting/Valid Connection checking needs test coverage
- [ JBAS-3204 ] Seperate the joesnmp.jar library from the snmp-support.jar
- [ JBAS-3218 ] Handle expiration of replicated sessions found in the buddy replication subtree
- [ JBAS-3235 ] Remove test dependency on com.sun.net.ssl.internal.ssl.Provider
- [ JBAS-3243 ] Use PojoCache instead of TreeCacheAop in HttpSession replication code
- [ JBAS-3244 ] Get rid of CredentialUpdater thread from TreeCacheSSOClusterManager
- [ JBAS-3251 ] Investigate org.jboss.test.jca.test.SecurityContextUnitTestCase
- [ JBAS-3252 ] jacorb.properties - wrong names for connection timeouts
- [ JBAS-3284 ] Upgrade jboss serialization to 1.0.1.GA (from 1.0.0.GA)
- [ JBAS-3285 ] Upgrade EJB3 to 1.0.0.CR8 (from CR7)
- [ JBAS-3286 ] ExtendedFormAuthenticator should override authenticate to populate session
- [ JBAS-3288 ] Remove JAXB1.0 API classes (javax.xml.bind.*) from jboss-j2ee.jar
- [ JBAS-3298 ] Upgrade JBossCache to 1.4.0 in Branch 4.0
- [ JBAS-3299 ] Release jbossws-1.0.1.GA binary
- [ JBAS-3306 ] Upgrade JBoss AS to use MyFaces 1.1.3
- [ JBAS-3319 ] dependency on jboss.ha:service=HASingletonDeployer,type=Barrier should read
- [ JBAS-3371 ] Replace Sun activation.jar with a source-code friendly licensed implementation
- [ JBAS-3372 ] Replace Sun javamail (mail.jar) with a source-code friendly licensed implementation
- [ JBAS-3422 ] DynamicLoginConfig Service should not load conf/login-config.xml
- [ JBAS-3434 ] Produce the Installer for 4.0.5.CR1
- [ JBAS-3435 ] Get the 4.0.5.CR1 testsuite passing
- [ JBAS-3436 ] Get the 4.0-compatibility tests passing for 4.0.5.CR1
- [ JBAS-3437 ] Get the 3.2-compatibility tests passing for 4.0.5.CR1
- [ JBAS-3443 ] JBossCacheService should not hold a direct ref to TreeCache service bean
- [ JBAS-3446 ] Upgrade JBossSerialization to 1.0.2.GA
- [ JBAS-3461 ] Resolve the failures in the ClusteredSSO unit tests
- [ JBAS-3472 ] Upgrade jacorb to 2.2.4jboss.patch1
- [ JBAS-3476 ] Create the release notes for 4.0.5.CR1
- [ JBAS-3504 ] Upgrade to JBoss Cache 1.4.0.SP1
- [ JBAS-3574 ] Upgrade jbossws to 1.0.3.GA
- [ JBAS-3578 ] Error in org.jboss.test.cluster.jmx.test.HAInvokerUnitTestCase
- [ JBAS-3579 ] Failure in org.jboss.test.web.test.ClusteredSingleSignOnUnitTestCase(tomcat-sso-cluster)
- [ JBAS-3580 ] Error in org.jboss.test.jbossmq.test.UnackedUnitTestCase
- [ JBAS-3582 ] Get the ejb3-4.0 testsuite passing
Sub-task
- [ JBAS-2071 ] Need a mechanism to retrieve FamilyClusterInfo in a consistent/synchronized way
- [ JBAS-2225 ] FCI.getTargets() should be Immutable
- [ JBINSTALL-74 ] German translation
- [ JBAS-2481 ] Externalization of the tomcat authenticators
- [ JBAS-3264 ] Write a helper class that retrieves an XAResource from the jms provider api suitable for use in recovery
- [ JBAS-3270 ] XID and hashmap
- [ JBAS-3510 ] Backport fixes from ServiceController rewrite to JBoss4
- [ JBAS-3525 ] Remove redundant ERROR logging when clustered webapp is not supported
Documentation and help may be obtained from the JBoss site.
JBoss is licensed under the LGPL. The licence texts for JBoss and the
thirdparty components it uses may be found in the docs/licenses directory of the distribution.
Browse Licences
JBoss, a division of RedHat, is in the business of providing superior technical support
to our customers. Our goal is to make Professional Open Source the SAFE
CHOICE
for you. We accomplish this by backing up our open source Java products
with technical support services that are delivered by the core
developers themselves. We can help you to train your staff and provide
you with support at every stage of the application lifecycle - from
development and integration through deployment and maintenance. Visit
the JBoss Services
page for more information.