Skip navigation links

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.devmodules.api.AntDeploymentHelper

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

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

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

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

org.netbeans.modules.j2ee.deployment.plugins.spi.config.ContextRootConfiguration

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

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

org.netbeans.modules.j2ee.deployment.plugins.spi.config.DatasourceConfiguration

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

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.DeploymentChangeDescriptor

org.netbeans.modules.j2ee.deployment.plugins.spi.DeploymentContext

org.netbeans.modules.j2ee.deployment.plugins.spi.config.DeploymentDescriptorConfiguration

org.netbeans.modules.j2ee.deployment.plugins.spi.DeploymentManager2

org.netbeans.modules.j2ee.deployment.plugins.spi.config.DeploymentPlanConfiguration

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

org.netbeans.modules.j2ee.deployment.plugins.spi.config.EjbResourceConfiguration

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

org.netbeans.modules.j2ee.deployment.plugins.spi.IncrementalDeployment

org.netbeans.modules.j2ee.deployment.plugins.spi.IncrementalDeployment2

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

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

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

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

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

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

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

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

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

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

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

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

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.spi.J2eePlatformImpl

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

org.netbeans.modules.j2ee.deployment.plugins.spi.J2eePlatformImpl2

org.netbeans.modules.j2ee.deployment.plugins.spi.JDBCDriverDeployer

org.netbeans.modules.j2ee.deployment.plugins.spi.LookupProvider

org.netbeans.modules.j2ee.deployment.plugins.spi.support.LookupProviderSupport

org.netbeans.modules.j2ee.deployment.plugins.spi.config.MappingConfiguration

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

org.netbeans.modules.j2ee.deployment.plugins.spi.config.MessageDestinationConfiguration

org.netbeans.modules.j2ee.deployment.plugins.spi.MessageDestinationDeployment

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

org.netbeans.modules.j2ee.deployment.plugins.spi.config.ModuleConfiguration

org.netbeans.modules.j2ee.deployment.plugins.spi.config.ModuleConfigurationFactory

org.netbeans.modules.j2ee.deployment.plugins.spi.config.ModuleConfigurationFactory2

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

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.plugins.spi.support.ProxyDeploymentFactory

org.netbeans.modules.j2ee.deployment.plugins.spi.support.ProxyOptionalFactory

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

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

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

org.netbeans.modules.j2ee.deployment.plugins.spi.ServerInitializationException

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

org.netbeans.modules.j2ee.deployment.plugins.spi.ServerInstanceDescriptor

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

org.netbeans.modules.j2ee.deployment.plugins.spi.config.ServerLibraryConfiguration

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

org.netbeans.modules.j2ee.deployment.plugins.spi.ServerLibraryFactory

org.netbeans.modules.j2ee.deployment.plugins.spi.ServerLibraryImplementation

org.netbeans.modules.j2ee.deployment.plugins.spi.ServerLibraryManager

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

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


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

Public API to ask the server about profile and debug support.

Aug 21 '13; API spec. version: 1.103; affected top-level classes: ServerInstance; made by: phejl; issues: #202587

Provides additional methods to query for support for debugging and profiling.

Provide a way to execute custom code just before actual deployment.

Aug 16 '13; API spec. version: 1.102; affected top-level classes: Deployment; made by: phejl; issues: #234194

Additional Callable parameter allows execution of custom code just before the actual deployment.

Added API/SPI for signalling change in resources deployed to server (via DeploymentChangeDescriptor).

Nov 10 '09; API spec. version: 1.63; affected top-level classes: ResourceChangeReporter ResourceChangeReporterFactory ResourceChangeReporterImplementation; made by: phejl; issues: #175539

Added API/SPI to check for changes in resources deployed to server. Such changes are flagged in DeploymentChangeDescriptor and delivered to server plugin.

DeployOnSaveClassInterceptor added.

May 15 '09; API spec. version: 1.56; affected top-level classes: J2eeModuleProvider; made by: mkleint; issues: #165045

DeployOnSaveClassInterceptor class added + gettter in J2eeModuleProvider. to allow processing Artifact instances coming from java infrastructure.

Programmatic undeploy for the project.

Sep 15 '08; API spec. version: 1.52; affected top-level classes: Deployment; made by: phejl; issues: #83122

Provides a way to programmatic undeploy of the deployed app (project represented by J2eeModuleProvider).

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

Added CommonServerBridge utility class to provide mapping of instance url to common api server instance.

Jan 13 '12; API spec. version: 1.88; affected top-level classes: CommonServerBridge; made by: phejl

Added CommonServerBridge utility class to provide mapping of instance url to common api server instance.

Adds helper method to create server instance which is not persistent.

Aug 24 '11; API spec. version: 1.83; affected top-level classes: InstanceProperties; made by: dkonecny

Adds helper method to create server instance which is not persistent.

Added SPI interface through which plugin may indicate it requires deployment descriptor.

Jul 28 '10; API spec. version: 1.69; affected top-level classes: DeploymentDescriptorConfiguration; made by: phejl; issues: #189012

The SPI interface DeploymentDescriptorConfiguration may be implemented by the server plugin in order to indicate the server needs deployment descriptor.

Default server API residues removed.

Apr 17 '08; API spec. version: 1.42; affected top-level classes: Deployment InstanceListener J2eeModuleProvider InstanceProperties; made by: phejl; issues: #83934

In the past, before the J2EE support was added to NetBeans the default server concept had been used. This concept was then abandoned since it did not work anymore. The problem could occur for example if the default server was Tomcat then the EJB project which was set to use the default server could not be deployed to it, etc.

Provides a way to remove server without need to invoke UI action.

Mar 5 '08; API spec. version: 1.41; affected top-level classes: InstanceProperties; made by: phejl

Method provides a way to remove server instance for plugins which don't use the j2eeserver UI.

OptionalDeploymentManagerFactory declares whether j2eeserver should provide common UI (like wizard for example).

Feb 1 '08; API spec. version: 1.38; affected top-level classes: OptionalDeploymentManagerFactory; made by: phejl; issues: #126010

OptionalDeploymentManagerFactory declares whether j2eeserver should provide common UI (like wizard for example). This should be done with Common Server API for every new plugin. InstantiatingIterator from OptionalDeploymentManagerFactory will serve only to j2eeserver specific purposes if isCommonUIRequired will return the false (the true is the default).

Provides a way how can plugin register instance to j2eeserver without any UI.

Jan 11 '08; API spec. version: 1.37; affected top-level classes: InstanceProperties; made by: phejl; issues: #122885

Provides a way how can plugin register instance to j2eeserver without any UI. SPI provided by Common Server should be used for UI integration.

Adding InstanceProperties.createInstanceProperties(String, String, String, String, Map<String, String>) method.

Nov 27 '07; API spec. version: 1.35; affected top-level classes: InstanceProperties; made by: phejl; issues: #120379

The InstanceProperties.createInstanceProperties(String, String, String, String) method does not provide any way how to pass other initial properties required by the plugin. This is usually needed and workarounded in many plugins. New method provides additional parameter containing the any plugin required properties.

Adding J2eeModuleProvider.findJndiNameForEjb method.

Aug 29 '07; API spec. version: 1.33; affected top-level classes: J2eeModuleProvider; made by: sherold; issues: #108198

The J2eeModuleProvider.bindEjbReference and J2eeModuleProvider.bindEjbReferenceForEjb methods need to pass an EJB JNDI name instead of EJB name to the plugin. The new J2eeModuleProvider.findJndiNameForEjb method will allow to obtain the EJB JNDI name.

Adding Deployment.isRunning() method.

Aug 29 '07; API spec. version: 1.32; affected top-level classes: Deployment; made by: sherold; issues: #113023

Adding a method which will tell whether the given server is running or not.

Adding EjbResourceConfiguration.findJndiNameForEjb method.

Jul 26 '07; API spec. version: 1.31; affected top-level classes: EjbResourceConfiguration; made by: sherold; issues: #108198

The EjbResourceConfiguration.bindEjbReference and EjbResourceConfiguration.bindEjbReferenceForEjb methods need to pass an EJB JNDI name instead of EJB name to the plugin. The new EjbResourceConfiguration.findJndiNameForEjb method will allow to obtain the EJB JNDI name.

Replacing ensureResourceDefinedForEjb with setCMPResource.

Jun 15 '07; API spec. version: 1.30; affected top-level classes: J2eeModuleProvider EjbResourceConfiguration MappingConfiguration; made by: sherold; issues: #99217

Removing J2eeModuleProvider.ConfigSupport.ensureResourceDefinedForEjb and EjbResourceConfiguration.ensureResourceDefined methods and replacing them with J2eeModuleProvider.ConfigSupport.setCMPResource and MappingConfiguration.setCMPResource.

The main reason for this change is that the ComponentInterface parameter can no longer be used since the metadata model was introduced, other reason is that the old name was confusing.

Renaming getDeploymentDescriptor to getMetadataModel.

Jun 12 '07; API spec. version: 1.29; affected top-level classes: J2eeModule J2eeModuleImplementation; made by: sherold; issues: #99217

Renaming J2eeModule's and J2eeModuleImplementation's getDeploymentDescriptor method to getMetadataModel.

Adds a method for displaying the Add server instance wizard.

Jun 7 '07; API spec. version: 1.28; affected top-level classes: ServerManager; made by: sherold; issues: #105403

Adds a method for displaying the Add server instance wizard.

Add a method that will allow Java EE project to determine if they are being targeted at a server which will support directory- based deployment.

May 8 '07; API spec. version: 1.27; affected top-level classes: Deployment; made by: vkraemer; issues: #89439

Expose the directory deployment capabilities that a target server may have which would allow the build script for a project to be optimized to delay or eliminate unnecessary steps

Adding an API for Call EJB action

Apr 15 '07; API spec. version: 1.26; affected top-level classes: J2eeModuleProvider EjbResourceConfiguration; made by: lkotouc; issues: #89439

API for Call EJB action.

Adding an API for working with data sources, message-driven beans and JMS messages

Apr 5 '07; API spec. version: 1.25; affected top-level classes: MessageDestination J2eeModuleProvider MessageDestinationDeployment OptionalDeploymentManagerFactory DatasourceConfiguration MessageDestinationConfiguration; made by: lkotouc; issues: #89439

API for working with data sources, message-driven beans and JMS messages.

Adding an API for JDBC driver deployment.

Mar 28 '07; API spec. version: 1.24; affected top-level classes: JDBCDriverDeployer OptionalDeploymentManagerFactory; made by: sherold; issues: #89439

API for JDBC driver deployment.

Removing dependency of configuration releated part of the J2EE Server API on JSR-88. Splitting up the plugin API to API and SPI.

Mar 11 '07; API spec. version: 1.23; affected top-level classes: ConfigurationException SourceFileMap J2eeApplication J2eeModule org.netbeans.modules.j2ee.deployment.devmodules.api.J2eeModuleContainer J2eeApplicationImplementation J2eeApplicationProvider org.netbeans.modules.j2ee.deployment.devmodules.spi.J2eeAppProvider J2eeModuleFactory J2eeModuleImplementation J2eeModuleProvider org.netbeans.modules.j2ee.deployment.plugins.api.ConfigurationSupport FileJ2eeModuleQuery org.netbeans.modules.j2ee.deployment.plugins.spi.DatasourceManager IncrementalDeployment ContextRootConfiguration DatasourceConfiguration DeploymentPlanConfiguration EjbResourceConfiguration MappingConfiguration ModuleConfigurationFactory ModuleConfiguration; made by: sherold; issues: #99217

The initial motivation for the J2EE Server API changes is migration to Retouche, a new NetBeans Java infrastructure. The new Java infrastructure does not supply the old deployment descriptor model with fine-grained change notification events anymore and thus a new Merged deployment descriptor model infrastructure was created instead.

Since the architecture of the new Merged deployment descriptor model is essentially different from the old deployment descriptor model infrastructure, the model can no longer be wrapped in the JSR-88 DDBean wrapper, which was a basis of all the server specific deployment configuration APIs, the deployment configuration related part of the J2EE Server API had to be redesigned.

Because the redesign already introduced big incompatible changes, we took advantage of it to fix couple of API issues, which required incompatible changes. First, the server plug-in part of the API was split into API and SPI. So far, there was no clear distinction between API and SPI and it was not obvious what a server plug-in writer is required to implement. Second, throws ConfigurationException clause was added to all the server-specific configuration related methods to inform the client about a problem which might have occurred when reading or writing to server-specific configuration files.

For further description refer to the issue.

Passing JNDI name for the resource definition callback

Aug 11 '06; API spec. version: 1.20; affected top-level classes: J2eeModuleProvider org.netbeans.modules.j2ee.deployment.plugins.api.ConfigurationSupport; made by: lkotouc; issues: #82476

Plugin needs to know JNDI name of the resource which the resource being defined is coming from.

Added support for Ant (headless) deployment.

Apr 4 '06; API spec. version: 1.18; affected top-level classes: AntDeploymentHelper org.netbeans.modules.j2ee.deployment.plugins.api.AntDeploymentProvider org.netbeans.modules.j2ee.deployment.plugins.api.OptionalDeploymentManagerFactory; made by: sherold

Ant deployment support allows to generate Ant deployment build scripts that can be used to deploy j2ee modules to the server. The generated deployment build script can run in a headless mode - without the IDE. The IDE does not even have to be installed.

Added support for getting J2EE version per module.

Apr 4 '06; API spec. version: 1.17; affected top-level classes: J2eePlatform org.netbeans.modules.j2ee.deployment.plugins.api.J2eePlatformImpl; made by: pbuzek

Some for servers support different versions of j2ee for different modules. For example JBoss 4.0.3 supports EJB 3.0 in ejb module, but only servlet api 2.4 in web module.

Added support for getting the tool properties, added constants for tools and tool properties.

Mar 22 '06; API spec. version: 1.16; affected top-level classes: J2eePlatform org.netbeans.modules.j2ee.deployment.plugins.api.J2eePlatformImpl; made by: sherold

Many tools need properties like main class or JVM options, the getToolProperty method allows to get those properties now, so far these properties had to be hardcoded.

The constats for the tools and the tool properties were added to avoid problems that might occur if the tool string changes.

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

Mar 17 '06; API spec. version: 1.15; affected top-level classes: Datasource DatasourceAlreadyExistsException J2eeModuleProvider org.netbeans.modules.j2ee.deployment.plugins.api.ConfigurationSupport org.netbeans.modules.j2ee.deployment.plugins.api.DatasourceManager org.netbeans.modules.j2ee.deployment.plugins.api.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 org.netbeans.modules.j2ee.deployment.plugins.api.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 org.netbeans.modules.j2ee.deployment.plugins.api.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 org.netbeans.modules.j2ee.deployment.plugins.api.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: org.netbeans.modules.j2ee.deployment.plugins.api.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 org.netbeans.modules.j2ee.deployment.plugins.api.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: org.netbeans.modules.j2ee.deployment.plugins.api.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 org.netbeans.modules.j2ee.deployment.plugins.api.J2eePlatformFactory org.netbeans.modules.j2ee.deployment.plugins.api.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

Adds ModuleConfigurationFactory2 which can use the knowledge of the server instance id to create the ModuleConfiguration.

Dec 20 '10; API spec. version: 1.74; affected top-level classes: ModuleConfigurationFactory2; made by: phejl; issues: #193255

The ModuleConfiguration2 enhance the old ModuleConfiguration with new method to which the server instance id is passed in addition to J2eeModule. The creation code can be more instance specific.

Method to disable Deploy part of Deploy on Save and performing only Compile on Save.

Nov 19 '10; API spec. version: 1.73; affected top-level classes: J2eeModuleProvider; made by: dkonecny; issues: #188361

In order to support JRebel and similar technologies it is desirable to be able to turn on Compile on Save but disable Deploy on Save. That is achieved by newly introduced method.

Methods to obtain server, domain and middleware home.

Oct 27 '10; API spec. version: 1.72; affected top-level classes: J2eePlatformImpl2 J2eePlatform; made by: phejl; issues: #190387

So far there was just J2eePlatform.getPlatformRoots() with unclear semantics. Now there are explicit getServerHome(), getDomainHome() and getMiddlewareHome() methods in the API. The corresponding SPI has been added - J2eePlatformImpl2.

Implement support for deployment of standalone EE modules.

Aug 2 '10; API spec. version: 1.70; affected top-level classes: J2eeModuleProvider DeploymentContext DeploymentManager2 IncrementalDeployment2; made by: dkonecny; issues: #186331

Implemented both SPI and API for communication of requires libraries from EE module to deployment server.

Provide a way for a plugin to perform post initialization action.

Jul 31 '08; API spec. version: 1.51; affected top-level classes: OptionalDeploymentManagerFactory ServerInitializationException; made by: vkraemer; issues: #141427

OptionalDeploymentManagerFactory gets a new stub, that plugin implementations would override. The Plugin author can assume that the ServerRegistry is initialized to the point where it can support the creation on instances.

LookupProvider support for J2eePlatform lookup.

Jul 23 '08; API spec. version: 1.50; affected top-level classes: LookupProvider LookupProviderSupport; made by: phejl; issues: #140219

Server plugins will use this static method in J2eePlatformImpl.getLookup() method to enable registration of additional Lookup Providers in layer.xml files.

Provide a way for project to figure out whether deploy on save is supported.

Jul 15 '08; API spec. version: 1.49; affected top-level classes: ServerInstance; made by: phejl; issues: #138476

Server instance class provides method isDeployOnSaveSupported in order to fugure out whether deploy on save is supported.

Support methods to allow plugin to implement deploy on save.

Jul 4 '08; API spec. version: 1.47; affected top-level classes: IncrementalDeployment; made by: phejl; issues: #138476

SPI is enhanced by two methods isDeployOnSaveSupported and deployOnSave in order to allow plugin to provide deploy on save functionality.

Added final class describing the changes during the incremental deployment.

Jul 4 '08; API spec. version: 1.47; affected top-level classes: DeploymentChangeDescriptor; made by: phejl; issues: #138476

Added final class describing the changes during the incremental deployment. New class DeploymentChangeDescriptor implements old interface (AppChangeDescriptor) and should be used in any new API.

API providing information about server host, port and flag indicating local installation.

May 30 '08; API spec. version: 1.46; affected top-level classes: ServerInstanceDescriptor ServerInstance; made by: phejl; issues: #133751

API for querying server host, port and flag indicating local installation. This is replacement for terrible hacks querying (leaking) InstanceProperties directly.

There should be server instance representation in the API.

May 29 '08; API spec. version: 1.45; affected top-level classes: Deployment InstanceRemovedException ServerInstance; made by: phejl; issues: #135324

API server instance in the API with clear indication that instance was removed should be used in favor of Deployment facade.

Add Lookup to J2eePlatformImpl to make it extensible.

May 6 '08; API spec. version: 1.44; affected top-level classes: J2eePlatform J2eePlatformImpl; made by: phejl; issues: #133853

J2eePlatform should provide Lookup containing support for other technologies the server can provide (such as web services).

Method that creates the library based on content of the platform.

Feb 21 '08; API spec. version: 1.40; affected top-level classes: J2eePlatform; made by: phejl

Methods allows creation of the library form the platform all required files are copied to the new location. Requirement introduced by java ee sharability.

New static fields on InstanceProperties

Mar 22 '07; API spec. version: 1.22; affected top-level classes: InstanceProperties; made by: vkraemer; issues: #98089

Eliminate completely hard-code timeout for startup, shutdown and deployment operations. Current hard-coded timeouts remain the default for plugins that do not provide per-instance settings.

Added support for getting the default server icons.

Apr 9 '06; API spec. version: 1.19; affected top-level classes: UISupport; made by: sherold

Added support for getting the default server icons for EAR, EJB, WAR archives and their respective containers (folders).

StartServer.needsRestart tells j2eeserver a state of the server

Jan 20 '05; API spec. version: 1.6; affected top-level classes: org.netbeans.modules.j2ee.deployment.plugins.api.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: org.netbeans.modules.j2ee.deployment.plugins.api.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: org.netbeans.modules.j2ee.deployment.plugins.api.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.


J2EE Server Common API

Fixing state constants to be real (final) constants.

Dec 11 '07; API spec. version: 1.36; affected top-level classes: ProfilerSupport; made by: phejl; issues: #122430

State constants used in the profiler API were not constants in real - they were just public static variables. This change makes them final.


Server Integration Plugin SPI Support

Added class proxying the OptionalDeploymentManagerFactory and adding the optional noInitializationFinish attribute.

Feb 25 '10; API spec. version: 1.66; affected top-level classes: ProxyOptionalFactory; made by: phejl; issues: #180893

Added class ProxyOptionalFactory which delegates all calls to configured delegate. Via noInitializationFinish it is possible to supress finishInitialization() method when it is not required by the plugin.

Designed to be used from XML Layer.

Added class proxying the DeploymentFactory and adding the optional urlPattern attribute.

Feb 22 '10; API spec. version: 1.65; affected top-level classes: ProxyDeploymentFactory; made by: phejl; issues: #148177

Added class ProxyDeploymentFactory which delegates all calls to configured delegate. Via urlPattern it is possible to do precheck of server instance uri. The uri has to mach the pattern otherwise the instance is rejected as not supported but the factory.

Designed to be used from XML Layer.


Uncategorized changes

Implemented support for handling the server libraries.

Jun 9 '10; API spec. version: 1.68; affected top-level classes: Version ServerInstance J2eeModuleProvider ServerLibrary ServerLibraryDependency OptionalDeploymentManagerFactory ServerLibraryFactory ServerLibraryImplementation ServerLibraryManager ServerLibraryConfiguration ProxyOptionalFactory; made by: phejl; issues: #182282

Implemented both SPI and API to provide support for server libraries management.