Communication with GemStone/S
GemDev plugin does not use any of usual solutions for connecting to GemStone database (no GemBuilder).
Instead it uses topaz script in combination with HTTP and custom message format.
- broker server is started and listens on one port for incoming http request
- eclipse connects to broker server and asks it for new
GemStone sessions (currently each GemDev project uses 2 GemStone
sessions in parallel)
- broker server checks if there is enough free ports which can be
used for communication (for each gemstone session there has to be one
- broker server executes topaz script which starts new http server listening on port assigned to this particular session
- after all sessions are created and their session servers started confirmation is returned to eclipse client
- from that point eclipse client always communicates directly with sessions (broker server is not used)
- when user disconnects the project, Eclipse closes all gemstone sessions it was using