Release Notes for Service Starter
org.apache.river.start
Apache River v3.0.0 Release Notes
Description
The Service Starter package is a collection of utilities and APIs
used to launch the contributed services provided in the
Apache River release.
Changes since the v2.2.0 release
- None
Changes since the v2.1.1 release
- None
Changes since the v2.0.1 release
- Bug Fixes of Interest
- The following bugs have been addressed in this release:
-
4835830: Add per-service proxy preparer support
- Per-service proxy preparer support has been added to
NonActivatableServiceDescriptor and
SharedActivatableServiceDescriptor via constructor
overloads that take proxy preparer parameters. This allows users
to individually prepare the service proxies returned by service
starter framework.
-
4856937: Service starter should permit specifying dynamic policy provider
ActivateWrapper supports the
the java.security.Security property
org.apache.river.start.servicePolicyProvider, which allows users
to specify the fully qualified class name of a dynamic policy provider to
use for wrapping individual service policies in a "shared" environment.
A custom service policy provider can be very useful when trying to
debug security related issues. See the start package documentation for
more detail.
-
4858623: change ExportClassLoader to use context class loader for parent
ActivateWrapper.ExportClassLoader now uses the calling context's
class loader as its parent (versus the application classpath, used previously).
This allows "container" applications more control over the class loader
hierarchy used when launching services.
-
6211452: change ActivateWrapper.ExportClassLoader to subclass PreferredClassLoader
ActivateWrapper.ExportClassLoader now extends
PreferredClassLoader instead of URLClassLoader.
A service can now specify a preferred list for its import class path,
to ensure that any classes that need to be annotated with the server's
codebase get loaded by the server's class loader rather than accidentally
being resolved in the container.
-
4868839: Make utility class constructors private
- The following utility classes simply contain static methods and
are not meant to be instantiated:
ClassLoaderUtil
DestroySharedGroup
HTTPDStatus
To ensure this, private constructors have been added to each of the
above classes.
-
4936006: ServiceDescriptor's should support non-file-based classpath entries
- The
importCodebase parameter in the constructors for
NonActivatableServiceDescriptor and
SharedActivatableServiceDescriptor now support either:
- a space delimited set of
URL(s) representing a codebase or
- a
File.pathSeparator delimited set of class paths.
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.