diff -r 177e5db417f9 j2eeserver/arch.xml
--- a/j2eeserver/arch.xml Wed Apr 14 18:11:50 2010 +0400
+++ b/j2eeserver/arch.xml Thu Apr 15 17:14:23 2010 +0400
@@ -71,9 +71,10 @@
- There are two separate api/spi sets in j2eeserver. The devmodules
+ There are three separate api/spi sets in j2eeserver. The devmodules
api/spi is for j2ee development modules (web, j2ee app, etc). The
- plugins api/spi is for server plugins.
+ plugins api/spi is for server plugins. The profiler api/spi is for
+ profiler J2EE integration plugins.
isApplicable()
. As already was mentioned profiling is functionality of different module. This module
+ should be host profiling module with some unique identifier which distinguish it among other plugins.
+ Using isApplicable()
method one can identify J2EE profiler plugin as related to host profiling module.
+
+
+nbstartprofiledserver
canConfigure()
. User will be asked to stop profiling sessions in case of requested session can't be configured
+ to start till canConfigure
return true
.
+
+ New session start could require to modify java arguments in
+ ProfilerServerSettings
+ ( f.e. network port change , etc. ). This can be done via method configureSession()
.
+
+ When session is configured for starting class StartServer
+ is used for starting J2EE server in profiling mode. Each J2EE server plugin is responsible for implementing
+ profiling functionality implementing.
+
+
+requestStop()
. Implementation of this method is responsible for notifying listeners with STATE_STOPPING
+ profiling state change. Also it can provide some additional clean up code for profiling stop.
+
+ Other way to stop : Profiler stop with profiled application option . In this case ProfilerSession implelentation should notify
+ its listeners about state change.
+
+ So in both cases ProfilerSession listeners will be notified by STATE_STOPPING
state .
+ J2EE server instance class is registered as ProfilerSession listener . So it is able to stop server carefully .
+
+
- No change to existing APIs. + Class ProfilerSupport is removed. + It have not been required from very beggining. It is just container for constants which are now are moved into + ProfilerSession. It's single static + method is just duplication of method in + ProfilerSession. + Mentioned method cannot be used with current profiler privider concept ( there is no singleton provider and session ).