diff -r 177e5db417f9 j2eeserver/arch.xml
--- a/j2eeserver/arch.xml Wed Apr 14 18:11:50 2010 +0400
+++ b/j2eeserver/arch.xml Mon Apr 19 14:24:52 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.
getId()
allows to get identifier for profiler provider implementation which could be used
+ for passing futher by client ( into Ant task f.e. ). It allows to request proiling via chosen profiler.
+ Method getProvider()
should be used on J2EE server instance side to access chosen J2EE profiler.
+
+
+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 deprecated. + It has 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 has ambiguity becuase of current profiler privider concept ( there is no singleton provider and session ).