Introduction

This document lists changes made to the J2EE Server API.


Index of APIs

Incompatible changes by date

Fuller descriptions of all changes can be found below (follow links).

Not all deprecations are listed here, assuming that the deprecated APIs continue to essentially work. For a full deprecation list, please consult the Javadoc.

All changes by date

Changes by version

These API specification versions may be used to indicate that a module requires a certain API feature in order to function. For example, if you see here a feature you need which is labelled 1.20, your manifest should contain in its main attributes the line:

OpenIDE-Module-Module-Dependencies: org.netbeans.modules.j2eeserver/3 > 1.20

Changes by affected class

org.netbeans.modules.j2ee.deployment.plugins.api.ConfigurationSupport

org.netbeans.modules.j2ee.deployment.plugins.api.Datasource

org.netbeans.modules.j2ee.deployment.plugins.api.DatasourceAlreadyExistsException

org.netbeans.modules.j2ee.deployment.plugins.api.DatasourceManager

org.netbeans.modules.j2ee.deployment.plugins.api.DConfigBeanProperties

org.netbeans.modules.j2ee.deployment.plugins.api.DConfigBeanUIFactory

org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment

org.netbeans.modules.j2ee.deployment.plugins.api.DeploymentPlanSplitter

org.netbeans.modules.j2ee.deployment.devmodules.spi.InstanceListener

org.netbeans.modules.j2ee.deployment.common.api.J2eeLibraryTypeProvider

org.netbeans.modules.j2ee.deployment.devmodules.api.J2eeModule

org.netbeans.modules.j2ee.deployment.devmodules.spi.J2eeModuleProvider

org.netbeans.modules.j2ee.deployment.devmodules.api.J2eePlatform

org.netbeans.modules.j2ee.deployment.plugins.api.J2eePlatformFactory

org.netbeans.modules.j2ee.deployment.plugins.api.J2eePlatformImpl

org.netbeans.modules.j2ee.deployment.plugins.api.ModuleChangeDescriptor

org.netbeans.modules.j2ee.deployment.plugins.api.OptionalDeploymentManagerFactory

org.netbeans.modules.j2ee.deployment.common.api.OriginalCMPMapping

org.netbeans.modules.j2ee.deployment.devmodules.spi.OriginalMappingProvider

org.netbeans.modules.j2ee.deployment.profiler.spi.Profiler

org.netbeans.modules.j2ee.deployment.profiler.api.ProfilerServerSettings

org.netbeans.modules.j2ee.deployment.profiler.api.ProfilerSupport

org.netbeans.modules.j2ee.deployment.devmodules.api.ServerManager

org.netbeans.modules.j2ee.deployment.common.api.SourceFileMap

org.netbeans.modules.j2ee.deployment.plugins.api.StartServer

org.netbeans.modules.j2ee.deployment.plugins.api.UISupport


Details of all changes by API and date


J2EE Server Common API

Added SourceFileMap access methods

Dec 5 '04; API spec. version: 1.5; affected top-level classes: SourceFileMap; made by: nnguyen

Expand usage of SourceFileMap by a set of methods to allow plugin access source, descriptor files. Also added static lookup methods to locate the right SourceFileMap object.

See Javadoc for details.


J2EE Module Development API

Added directory access methods

Dec 5 '04; API spec. version: 1.5; affected top-level classes: J2eeModuleProvider; made by: nnguyen

Added methods on J2eeModuleProvider for dev modules to expose some its project directory structure part to integration plugin. The added methods are: File getEnterpriseResourceDirectory() and FileObject[] getSourceRoots()

Added methods on J2eeModuleProvider.ConfigSupport for dev modules to push configuration data to plugin or request plugin to ensure resources are defined on creation of EJBs. The added methods are: void setCMPMappingInfo(String ejbname, OriginalCMPMapping mapping) and void ensureResourceDefinedForEjb(String ejbname, String ejbtype)

See Javadoc for details.


J2EE Server API

DS management API allows clients to access and manipulate the data sources

Mar 17 '06; API spec. version: 1.15; affected top-level classes: J2eeModuleProvider ConfigurationSupport Datasource DatasourceAlreadyExistsException DatasourceManager OptionalDeploymentManagerFactory; made by: lkotouc

DS management API allows clients to access and manipulate the data sources. Data sources are created in the module and deployed when the module deployment begins. Data sources are accessed at two places - at the modules where they are stored after creation and on the module's target server.

Support for updating module enterprise resource directory added.

Oct 10 '05; API spec. version: 1.12; affected top-level classes: J2eeModuleProvider ConfigurationSupport; made by: sherold

Plugins need to be notified when the module enterprise resource directory changes.

Property PROP_ENTERPRISE_RESOURCE_DIRECTORY and property change listener added to J2eeModuleProvider.

Abstract method updateResourceDir(DeploymentConfiguration config, File resourceDir) added to ConfigurationSupport.

Profiler support added.

Sep 15 '05; API spec. version: 1.9; affected top-level classes: org.netbeans.modules.j2ee.deployment.devmodules.api.J2eePlatform org.netbeans.modules.j2ee.deployment.plugins.api.J2eePlatformImpl org.netbeans.modules.j2ee.deployment.plugins.api.StartServer org.netbeans.modules.j2ee.deployment.profiler.api.ProfilerServerSettings org.netbeans.modules.j2ee.deployment.profiler.api.ProfilerSupport org.netbeans.modules.j2ee.deployment.profiler.spi.Profiler; made by: sherold; issues: #56032

Profiler support extension of the j2eeserver API allows Profiler to profile Web and other J2EE project types in a comfortable and reliable way.

Profiler SPI, the Profiler is required to implement and register into the default Lookup, allows to obtain information about current profiling session status, settings required for starting a server in profiling mode and to stop profiled server.

Profiler API, which defines class encapsulating settings required for starting a server in profiling mode and provides support for reading current state of Profiler registered in the default Lookup.

Extension of StartServer that allows the j2eeserver to check whether the given server supports profiling and allows to start it if it does.

Extension of J2eePlatform that allows the Profiler to check if the Java platform specified for the server is acceptable for profiling. If not, the Profiler is able to check if other platform which can be used for profiling is acceptable for running the server.

Ant task 'nbstartprofiledserver' that may stop other server being profiled and prepare the target server for profiling - this means (re)starting the server using provided settings or no action if the server is already running with correct configuration.

The common server specific deployment descriptor data loader has been removed from the j2eeserver. The plugins are no longer required to use the DConfigBean based model.

Aug 22 '05; API spec. version: 1.8; affected top-level classes: org.netbeans.modules.j2ee.deployment.plugins.api.DConfigBeanProperties org.netbeans.modules.j2ee.deployment.plugins.api.DConfigBeanUIFactory org.netbeans.modules.j2ee.deployment.plugins.api.DeploymentPlanSplitter ConfigurationSupport; made by: sherold; issues: #56032

The common server specific deployment descriptor data loader has been removed. Each plugin should now register its own data loader, if needed. The j2eeserver does no longer control saving of the server specific deployment descriptors, it is plugin responsibility now. With the removal of the common data loader, the plugins are no longer required to use the DConfigBean based model.

Plugins should implement the ConfigurationSupport abstract class in order to provide support for their server specific deployment descriptors.

Removed: DConfigBeanProperties, DConfigBeanUIFactory, DeploymentPlanSplitter. Modified: ConfigurationSupport interface was modified and turned into an abstract class.

ServerManager and UISupport classes added. Added method supportsStartDebugging() to the StartServer class.

Aug 9 '05; API spec. version: 1.7; affected top-level classes: ServerManager UISupport StartServer; made by: sherold; issues: #55640

The ServerManager class allows other modules to display the Server Manager dialog. The UISupport class provides server plugins with an InputOutput instance with the server state management actions: start, debug, restart, stop and refresh. The supportsStartDebugging() method says whether the startDebugging() method is supported, it is analogous to the supportsStartDeploymentManager() and startDeploymentManager() methods.

Added setServerInstanceID method into J2eeModuleProvider.

Apr 18 '05; API spec. version: 1.6; affected top-level classes: J2eeModuleProvider; made by: pbuzek

Add a constant for J2EE 1.5 specification level.

Added setServerInstanceID method into J2eeModuleProvider.

Mar 14 '05; API spec. version: 1.6; affected top-level classes: J2eeModuleProvider; made by: sherold

When adding module to j2ee application the target server needs to be set to the same as for the app. To make this possible we need to add setServerInstanceID method into J2eeModuleProvider.

Added stopDontWait and canStopDontWait methods into StartServer.

Mar 10 '05; API spec. version: 1.6; affected top-level classes: StartServer; made by: pbuzek

These methods allow plugins to stop the server silently when the IDE is being shutdown. This addresses the problem filed as 52978 - Shutdown of appserver at IDE shutdown is unresponsive.

Added addInstanceListener and removeInstanceListener methods to Deployment class.

Feb 9 '05; API spec. version: 1.6; affected top-level classes: Deployment; made by: sherold

Added addInstanceListener and removeInstanceListener methods to the Deployment class. This will allow registration of InstanceListeners that will listen to server instances changes (addition, removal, etc.) also for modules that do not implement the J2eeModuleProvider which was currently the only place where InstanceListeners could be registered.

Added InstanceListener. Added Deployment.getServerInstancesIDs methods for getting server instances based on some requirements.

Jan 25 '05; API spec. version: 1.6; affected top-level classes: Deployment InstanceListener J2eeModuleProvider; made by: sherold

Added InstanceListener that will allow listening to server instance changes (addition, removal, etc.). Methods for InstanceListener registration were added to J2eeModuleProvider. To the Deployment class were added getServerInstanceIDs methods for listing registered server instances based on some requirements - supported module types, J2EE specification versions and tools.

Added J2EE Platform icon

Jan 6 '05; API spec. version: 1.6; affected top-level classes: J2eePlatform J2eePlatformImpl; made by: abadea; issues: #52993

Added methods for the J2EE Platform to be able to specify an icon. The new methods are J2eePlatform.getIcon() and J2eePlatformImpl.getIcon().

Wizard should push CMP mappings in one single call

Dec 23 '04; API spec. version: 1.5; affected top-level classes: ConfigurationSupport OriginalCMPMapping J2eeModuleProvider org.netbeans.modules.j2ee.deployment.devmodules.spi.OriginalMappingProvider; made by: nnguyen

Related CMP Beans Wizard need to push mapping info to plugin in one single call. This would improve performance and make it easier for plugin code to process the relationship mappings. Part of this batching change, OriginalCMPMapping now includes ejbName. J2eeModuleProvider.ConfigSupport now has new method saveConfiguration() to allow development module wizard to commit changes it caused to component deployment configuration. OriginalMappingProvider, not used in the CMP mapping push module, is removed.

Added J2EE Platform

Dec 13 '04; API spec. version: 1.5; affected top-level classes: J2eeLibraryTypeProvider J2eePlatform Deployment J2eeModule J2eePlatformFactory J2eePlatformImpl; made by: sherold; issues: #52167

J2EE Platform extends the current j2eeserver module of description of a target environment J2EE applications are build against and subsequently deployed to.

Constants for the J2EE specification version added to the J2eeModule class.
To the Deployment class was added method getJ2eePlatform(String serverInstanceID) which returns J2eePlatform instance for the given serveInstanceID.
Added new classes: J2eeLibraryTypeProvider, J2eePlatform, J2eePlatformFactory, J2eePlatformImpl.


Server Integration Plugin API

StartServer.needsRestart tells j2eeserver a state of the server

Jan 20 '05; API spec. version: 1.6; affected top-level classes: StartServer; made by: nnguyen; issues: #53721

This optional method allow plugin to communicate with j2eeserver about the need to restart the server before deployment so that last changes to server configuration would take effect.

Method getChangedFiles allows plugin code to access all the changes in current deployment.

Jan 18 '05; API spec. version: 1.6; affected top-level classes: ModuleChangeDescriptor; made by: nnguyen; issues: #53539

The summary of changes provided by current ModuleChangeDescriptor is not sufficient in many cases for plugin code to ensure the incrementally deployed application available. This new method getChangedFiles would serve as a 'catch-all' for plugin code to examine details of the changes.

StartServer methods call to manage states for target server instances

Jan 10 '05; API spec. version: 1.6; affected top-level classes: StartServer; made by: nnguyen; issues: #53010

J2eeserver should be able to start target managed server instances which are not identical with admin server instance. Methods supportsStartTarget, isRunning, startTarget, stopTarget are added as optional to StartServer abstract class plugin SPI.

Deprecates DeploymentPlanSplitter.getDeploymentPlanFileNames

Dec 20 '04; API spec. version: 1.5; affected top-level classes: org.netbeans.modules.j2ee.deployment.plugins.api.DeploymentPlanSplitter; made by: nnguyen

The reason for deprecating is that plugin SPI method DeploymentPlanSplitter.getDeploymentPlanFileNames has become exact duplicate with layer.xml entries declaration: J2EE/DeploymentPlugins/plugin-name/DeploymentFileNames J2EE Server Registry code has now been consolidated and is no longer depends on this method call; the require layer.xml entries are used instead.

See Javadoc for details.

Added configuration support services

Dec 5 '04; API spec. version: 1.5; affected top-level classes: ConfigurationSupport; made by: nnguyen

Added Integration plugin SPI ConfigurationSupport for plugin to provide services like create CMP/CMR mapping from generic mapping info acquired by devmodule wizards. This SPI also allow development modules to notify plugin on making sure default resources might needs to be generated for new components.

See Javadoc for details.


Built on March 27 2006.  |  Portions Copyright 1997-2005 Sun Microsystems, Inc. All rights reserved.