diff --git a/docs/gettingStarted.md b/docs/gettingStarted.md index 1797a48..1c397f6 100644 --- a/docs/gettingStarted.md +++ b/docs/gettingStarted.md @@ -9,7 +9,6 @@ - [Exceptions to Handle in Topaz](#exceptions-to-handle-in-topaz) - [Topaz Transaction Modes](#topaz-transaction-modes) - [GemServer class](#gemserver-class) - - [GemServerRegistry class](#gemserverregistry-class) - [Gem Server Service Loop](#gem-server-service-loop) - [Gem Server Exception Handling](#gem-server-exception-handling) - [Gem Server Exception Set](#gem-server-exception-set) @@ -25,6 +24,7 @@ - [Practical Gem Server Transaction Support](#practical-gem-server-transaction-support) - [Request/Response Gem Server Tasks](#requestresponse-gem-server-tasks) - [I/O Gem Server Tasks](#io-gem-server-tasks) + - [Important Transaction Considerations](#important-transaction-considerations) - [Gem Server Control](#gem-server-control) - [Gem Server Control from Smalltalk](#gem-server-control-from-smalltalk) - [Gem Server Bash scripts](#gem-server-bash-scripts) @@ -130,26 +130,10 @@ The **GemServer** class provides a concise framework for standardized: --- -###GemServerRegistry class -The **GemServerRegistry** class provides a registry of named *gem servers*. -A *gem server* named instance is created by using the `register:` method: - -```Smalltalk -GemServerTestServer register: 'testServer'. -``` - -Once an instance has been registered, it may be accessed from the **GemServerRegistry** using the `gemServerNamed:` method: - -```Smalltalk -(GemServerRegistry gemServerNamed: gemName) -``` - ---- - ###Gem Server Service Loop -A *gem server* is associated with one or more ports (a port may be nil). +A *gem server* is associated with one or more *port or resource names*. -One [Topaz session](#gemstone-session) is launched for each of the *ports* associated with a *gem server*. +One [Topaz session](#gemstone-session) is launched for each of the *port or resource names* associated with a *gem server*. The *gem server* instance is shared by each of the *[Topaz][2] gems*. @@ -157,36 +141,36 @@ The *gem server* is launched by calling the [gem server start script](#gem-serve The [script](#gem-server-start-script) executes the following Smalltalk code to start the *gem server*: ```Smalltalk -(GemServerRegistry gemServerNamed: '') scriptStartServiceOn: . +(GemServer gemServerNamed: '') scriptStartServiceOn: . ``` The `scriptStartServiceOn:` method: ```Smalltalk -scriptStartServiceOn: portOrNil +scriptStartServiceOn: portOrResourceName "called from shell script" self - scriptServicePrologOn: portOrNil; - startServerOn: portOrNil "does not return" + scriptServicePrologOn: portOrResourceName; + startServerOn: portOrResourceName "does not return" ``` The `startServerOn:` method is expected to block the main Smalltalk process in the *gem*: ```Smalltalk -startServerOn: portOrNil +startServerOn: portOrResourceName "start server in current vm. Not expected to return." - self startBasicServerOn: portOrNil. + self startBasicServerOn: portOrResourceName. [ true ] whileTrue: [ (Delay forSeconds: 10) wait ] ``` The `startBasicServerOn:` method forks a process to run the `basicServerOn:` method: ```Smalltalk -startBasicServerOn: portOrNil +startBasicServerOn: portOrResourceName "start basic server process in current vm. fork and record forked process instance. expected to return." - self basicServerProcess: [ self basicServerOn: portOrNil ] fork. + self basicServerProcess: [ self basicServerOn: portOrResourceName ] fork. self serverInstance: self "the serverProcess is session-specific" ``` @@ -194,7 +178,7 @@ The `basicServerOn:` method is expected to be implemented by a concrete subclass For example, here's the `basicServerOn:` method for the [maintenance vm](#maintenance-vm): ```Smalltalk -basicServerOn: port +basicServerOn: portOrResourceName "forked by caller" | count | @@ -212,7 +196,9 @@ basicServerOn: port --- ###Gem Server Exception Handling -The `gemServer:exceptionSet:beforeUnwind:ensure:` method implements the basic exception handling logic for the **GemServer** class: +There are a number of `gemServer:*` methods. +The `gemServer:exceptionSet:beforeUnwind:ensure`: method is the foundation of them all. +It implements the basic exception handling logic for the GemServer class: ```Smalltalk gemServer: aBlock exceptionSet: exceptionSet beforeUnwind: beforeUnwindBlock ensure: ensureBlock @@ -222,7 +208,6 @@ gemServer: aBlock exceptionSet: exceptionSet beforeUnwind: beforeUnwindBlock ens do: [ :ex | | exception | [ - "only returns if an error was logged" exception := ex. self handleGemServerException: ex. beforeUnwindBlock value: exception ] @@ -260,7 +245,7 @@ There are several variants of the `GemServer>>gemServer:exceptionSet:beforeUnwin - gemServer:exceptionSet:ensure: ####Gem Server Exception Set -Default exception handling has been defined for the following exceptions (the list of default exceptions is slightly different for [GemStone 2.4.x][8]): +Default exception handling has been defined for the following exceptions: - **Error** - **Break** - **Breakpoint** @@ -268,6 +253,26 @@ Default exception handling has been defined for the following exceptions (the li - **AlmostOutOfMemory** - **AlmostOutOfStack** +One may define an `exceptionSet`: + - on a *gem server* by *gem server* basis using the `GemServer>>gemServerExceptionSet:` method. + - by overriding `GemServer>>gemServerExceptionSet` and providing an alternate implementation: + ```Smalltalk + gemServerExceptionSet + gemServerExceptionSet + ifNil: [ + self interactiveMode + ifTrue: [ ^ Error , self class gemServerExceptionSet ]. + ^ Error , self class gemServerExceptionSet + , self class gemServerDebuggingExceptionSet ]. + ^ gemServerExceptionSet + ``` + + - by defining alternate implementations of the **GemServer** class methods: `gemServerExceptionSet` and `gemServerDebuggingExceptionSet`. + The `exceptionSet` returned by `gemServerDebuggingExceptionSet` is not applied when `interactiveMode` is on. + + +**Note**: *The list of default exceptions discussed in this section are slightly different for [GemStone 2.4.x][8].* + ####Gem Server Exception Handlers The *gem server* uses [double dispatching][9] to invoke exception-specific handling behavior. The primary method `exceptionHandlingForGemServer:` is sent by the `GemServer>>handleGemServerException:` method: @@ -296,12 +301,13 @@ For an **Error** exception, the `GemServer>>gemServerHandleErrorException:` meth ```Smalltalk gemServerHandleErrorException: exception - "log the stack trace and unwind stack, unless in interactive mode" + "log the stack trace and unwind stack. + interactiveMode is handled by caller of handleGemServerException: before stack is unwound." self logStack: exception titled: - self name , ' ' , exception class name asString , ' exception encountered: '. + self name , ' ' , exception class name asString , ' exception encountered:'. ``` the [exception is logged](#gem-server-exception-logging) and the method returns. @@ -317,12 +323,14 @@ gemServerHandleResumableException: exception self logStack: exception titled: - self name , ' ' , exception class name asString , ' exception encountered: '. + self name , ' ' , exception class name asString , ' exception encountered:'. exception resume ``` As in the case of handling an **Error** the [exception is logged](#gem-server-exception-logging), but instead of returning, the exception is resumed and processing continues uninterrupted. +If your *gem server* needs custom handling for an exception, you can add new `gemServerHandle*` methods or override existing `gemServerHandle*` methods. + ####Gem Server `beforeUnwindBlock` The `beforeUnwindBlock` gives you a chance to perform application specific operations before the stack is unwound. For example, a web server may want to return a 4xx or 5xx HTTP response in the event of an error: @@ -334,8 +342,6 @@ handleRequest: request for: socket beforeUnwind: [ :ex | ^ self writeServerError: ex to: socket ] ``` -If your *gem server* needs custom handling for an exception, you can add new `gemServerHandle*` methods or override existing `gemServerHandle*` methods. - ####Gem Server Exception Logging When an exception is handled, the stack is written to the gem log and a continuation for the stack is saved to the [object log](#object-log) by the `logStack:titled:inTransactionDo:` method: @@ -349,14 +355,14 @@ logStack: exception titled: title inTransactionDo: inTransactionBlock ``` The `writeGemLogEnryFor:titled:` dumps a stack to the gem log. -This method is called first to ensure that a record of the error has been written to disk in the event the continuation fails to be committed: +This method is called first to ensure that a record of the error has been written to disk in the event the continuation cannot be committed: ```Smalltalk writeGemLogEntryFor: exception titled: title | stream stack | stack := GsProcess stackReportToLevel: self stackReportLimit. stream := WriteStream on: String new. - stream nextPutAll: '----------- ' , title , DateAndTime now printString. + stream nextPutAll: '----------- ' , title , ' ', DateAndTime now printString. stream lf. stream nextPutAll: exception description. stream lf. @@ -366,7 +372,7 @@ writeGemLogEntryFor: exception titled: title GsFile gciLogServer: stream contents ``` -The `saveContinuationFor:titled:inTransactionDo:` method arranges to create the continuation within it's own transaction or within an existing transaction: +The `saveContinuationFor:titled:inTransactionDo:` method arranges to create the continuation within its own transaction or within an existing transaction: ```Smalltalk saveContinuationFor: exception titled: title inTransactionDo: inTransactionBlock @@ -383,15 +389,22 @@ saveContinuationFor: exception titled: title inTransactionDo: inTransactionBlock inTransactionBlock value ] ] ``` +The `logStack:titled:` method calls `logStack:titled:inTransactionDo:`: + +```Smalltalk +logStack: exception titled: title + self logStack: exception titled: title inTransactionDo: [ ] +``` + The `serverError:titled:` method calls `logStack:titled:inTransactionDo:` and allows for [interactive debugging](#interactive-debugging) of the exception: ```Smalltalk serverError: exception titled: title inTransactionDo: inTransactionBlock + self doInteractiveModePass: exception. self logStack: exception - titled: title , ' Server error encountered: ' + titled: title , ' Server error encountered:' inTransactionDo: inTransactionBlock. - self doInteractiveModePass: exception ``` ####Gem Server `ensureBlock` @@ -426,8 +439,10 @@ The **GemServer** class provides three methods for performing transactions: - [`doTransaction:onConflict:`](#dotransactiononconflict) - [`doTransaction:`](#dotransaction) +All three methods perform transactions under the protection of the `transactionMutex`. + #####doBasicTransaction: -The `doBasicTransaction:` method performs transactions under the protection of the `transactionMutex`: +The `doBasicTransaction:` ensures that the session is in transaction before the `aBlock is invoked and then performs a commit: ```Smalltalk doBasicTransaction: aBlock @@ -498,7 +513,9 @@ doTransaction: aBlock This method dumps the [conflict dictionary](#transaction-conflict-dictionary) to the [object log](#object-log) and signals an error. ####Practical Gem Server Transaction Support -The `gemServerTransaction:exceptionSet:beforeUnwind:ensure:onConflict:` wraps a transaction around the [`gemServer:exceptionSet:beforeUnwind:ensure:`](#gem-server-exception-handling) method and exports the [`conflictBlock`](#dotransactiononconflict): +There are a number of `gemServerTransaction:*` methods. +The `gemServerTransaction:exceptionSet:beforeUnwind:ensure:onConflict:` is the foundation of them all. +It wraps a transaction around the [`gemServer:exceptionSet:beforeUnwind:ensure:`](#gem-server-exception-handling) call: ```Smalltalk gemServerTransaction: aBlock exceptionSet: exceptionSet beforeUnwind: beforeUnwindBlock ensure: ensureBlock onConflict: conflictBlock @@ -517,6 +534,9 @@ gemServerTransaction: aBlock exceptionSet: exceptionSet beforeUnwind: beforeUnwi onConflict: conflictBlock ``` +To keep the transaction model simple, the `gemServerTransaction:*` methods are not re-entrant. +If you need a more complicated transaction models, then you are free to build your own supporting methods. + There are several variants of the `gemServerTransaction:exceptionSet:beforeUnwind:ensure:onConflict:` available: - gemServerTransaction: - gemServerTransaction:beforeUnwind: @@ -576,6 +596,8 @@ performTask: In this example we do the http get *outside of transaction*, which means that a large number of tasks can be waiting for an http response, concurrently. Only when a response becomes available, does the *transaction mutex* and then the processing required while *in transaction* should be very short. +####Important Transaction Considerations + It is important that one avoids modifying persistent objects while *outside of transaction*. It is permissable to read persistent objects but any modifications to persistent objects made while outside of transaction will be lost when the [abort](#abort-transaction) or [begin](#begin-transaction) transaction is called by the `gemServerTransaction:` method. @@ -592,7 +614,7 @@ FastCGISeasideGemServer register: 'Seaside' on: #( 9001 9002 9003 ) When you subsequently ask the *gem server* to start: ```Smalltalk -(GemServerRegistry gemServerNamed: 'Seaside') startGems. +(GemServer gemServerNamed: 'Seaside') startGems. ``` A [Topaz][2] process should be started for each port in the list. @@ -605,25 +627,26 @@ startGems System commitTransaction ifFalse: [ self error: 'Commit transaction failed before startGems' ]. self logControlEvent: 'Start Gems: ' , self name. - self ports - do: [ :port | + self portOrResourceNameList + do: [ :portOrResourceName | | pidFilePath | - pidFilePath := self gemPidFileName: port. + pidFilePath := self gemPidFileName: portOrResourceName. (GsFile existsOnServer: pidFilePath) ifTrue: [ self error: - 'Pid file exists for port: ' , port printString , '. Try restart command.' ]. - self executeStartGemCommand: port ] + 'Pid file exists for port or resource: ' , portOrResourceName printString + , '. Try restart command.' ]. + self executeStartGemCommand: portOrResourceName ] ``` calls the `executeStartGemCommand:` method, which in turn constructs shell command line that calls the [*gem server* start script](#gem-server-start-script): ```Smalltalk -executeStartGemCommand: port +executeStartGemCommand: portOrResourceName | commandLine | - commandLine := self startScriptPath , ' ' , self name , ' ' , port asString - , ' "' , self exeConfPath , '"'. + commandLine := self startScriptPath , ' ' , self name , ' ' + , portOrResourceName asString , ' "' , self exeConfPath , '"'. self performOnServer: commandLine ``` @@ -631,13 +654,14 @@ executeStartGemCommand: port *Gem servers* can be started, stopped and restarted from Smalltalk: ```Smalltalk -(GemServerRegistry gemServerNamed: 'Seaside') startGems. -(GemServerRegistry gemServerNamed: 'Seaside') stopGems. -(GemServerRegistry gemServerNamed: 'Seaside') restartGems. +(GemServer gemServerNamed: 'Seaside') startGems. +(GemServer gemServerNamed: 'Seaside') stopGems. +(GemServer gemServerNamed: 'Seaside') restartGems. ``` ###Gem Server Bash scripts -The *gem server* bash scripts are designed to control a single *gem server* operating system process, one process for each port in the port. +The *gem server* bash scripts are designed to control a single *gem server* operating system process, one process for each port in the port list. +For *gem servers* that are not port-based, resource names are used to differentiate between *gem server* instances. The bash scripts are aimed at making it possible to start and stop individual gem servers from a process management tool like [DaemonTools][5] or [Monit][6]. The scripts are also called from within Smalltalk using `System class>>performOnServer:`. @@ -645,7 +669,7 @@ The scripts are also called from within Smalltalk using `System class>>performOn ####Gem Server start script The [*gem server* start script][14] takes three arguments: 1. gem server name - 2. port number + 2. port number or resource name 3. exe conf file path ``` @@ -655,30 +679,30 @@ startGemServerGem Seaside 9001 $GEMSTONE_EXE_CONF The script itself invokes the following Smalltalk code: ```Smalltalk -(GemServerRegistry gemServerNamed: '') scriptStartServiceOn: . +(GemServer gemServerNamed: '') scriptStartServiceOn: . ``` The `scriptStartServiceOn:` method: ```Smalltalk -scriptStartServiceOn: portOrNil +scriptStartServiceOn: portOrResourceName "called from shell script" self - scriptServicePrologOn: portOrNil; - startServerOn: portOrNil "does not return" + scriptServicePrologOn: portOrResourceName; + startServerOn: portOrResourceName "does not return" ``` initiates the [service loop](#gem-server-service-loop) and calls the `scriptServicePrologOn:` method: ```Smalltalk -scriptServicePrologOn: portOrNil +scriptServicePrologOn: portOrResourceName self scriptLogEvent: - '-->>Script Start ' , self name , ' on ' , portOrNil printString + '-->>Script Start ' , self name , ' on ' , portOrResourceName printString object: self. self - recordGemPid: portOrNil; + recordGemPid: portOrResourceName; setStatmonCacheName; enableRemoteBreakpointHandling. self transactionMode: #'manualBegin'. @@ -692,7 +716,7 @@ which among other things records the `gem process id` in a file, so that the [ge ####Gem Server stop script The [*gem server* stop script][15] takes two arguments: 1. gem server name - 2. port number + 2. port number or resource name ``` stopGemServerGem Seaside 9001 @@ -776,7 +800,7 @@ While you cannot resume execution of a stack from a *debugger continuation*, you If you are experiencing problems in production and are having trouble characterizing the problem, you can insert `halt` statements into your code. By default the [*gem server* exception handlers](#gem-server-exception-set) will handle a **Halt** by saving a debug continuation to the [object log](#object-log) and then `resuming` the **Halt** exception, so execution continues. -Naturally there is a cost to saving continuations, but it continuation-based debugging is superior to print statment debugging. +Naturally there is a cost to saving continuations, but continuation-based debugging is superior to print statment debugging. ###Interactive Debugging @@ -786,15 +810,16 @@ However, there are several obstacles that need to be overcome when trying to do This means that when a Smalltalk thread is active in a *gem server*, the interactive development environment may not make any other [GCI](#gembuilder-for-c) function calls. In effect the development environment must block until the in process non-blocking call returns. 2. The *gem server* code is structured to [handle most of the interesting exceptions](#gem-server-exception-set) by [logging the stack to the object log and either unwinding the stack or resuming the exception](#gem-server-exception-handlers). - This means that without *devine intervention*, an interactive debugger will not be opened when an interesting exception occurs. + This means that without *divine intervention*, an interactive debugger will not be opened when an interesting exception occurs. 3. The *gem server* is [designed to run in manual transaction mode](#gem-server-transaction-management). This means that you need to explicitly manage transaction boundaries. The solution to having the server debugging session blocked while serving requests is to use with two interactive debugging sessions. - 1. Server debugging session which is blocked running the [*gem server* service loop](#gem-server-service-loop). - 2. Client debugging session, which is where most of the interactive development takes place. +Two interactive sessions gets around the "blocked server environment" problem: + 1. A **server session** which is blocked running the [*gem server* service loop](#gem-server-service-loop). + 2. A **client session**, which is where most of the interactive development takes place. -In order to arrange to debug interesting exceptions, one may set `interactiveMode` for the *gem server*. +In order to arrange to debug interesting exceptions, set `interactiveMode` for the *gem server*. When `interactiveMode` is `true`, the *gem server* passes exceptions to the debugger, instead of doing the [standard exception logging](#gem-server-exception-logging): ```Smalltalk @@ -806,21 +831,21 @@ doInteractiveModePass: exception Finally, one may use [automatic transaction mode](#automatic-transaction-mode) when using `GemServer>>interactiveStartServiceOn:transactionMode:` to start the server: ```Smalltalk -interactiveStartServiceOn: portOrNil transactionMode: mode +interactiveStartServiceOn: portOrResourceName transactionMode: mode "called from development environment ... service run in current vm." "transactionMode: #autoBegin or #manualBegin" self scriptLogEvent: - '-->>Interactive Start ' , self name , ' on ' , portOrNil printString + '-->>Interactive Start ' , self name , ' on ' , portOrResourceName printString object: self. self transactionMode: mode. mode == #'manualBegin' ifTrue: [ self startTransactionBacklogHandling ]. self enableAlmostOutOfMemoryHandling; - startServerOn: portOrNil "does not return" + startServerOn: portOrResourceName "does not return" ``` ####Interactive Debugging Example @@ -860,7 +885,7 @@ When the method `submitAndWaitFor:gemServer:` is sent to a **GemServerRemoteServ If you are not using auto commit mode, then an explicit commit is needed.* 1. Open two interactive development clients, one will be designated as the **client session** and the other will be designated as the **server session** -2. In the **client session**, `register` the *gem server*, and `reset` the queue: +2. In the **client session**, `register` the *gem server*: ```Smalltalk (GemServerRemoteServerSerialProcessingExample register: 'example') interactiveMode: true. @@ -874,18 +899,18 @@ If you are not using auto commit mode, then an explicit commit is needed.* 4. In the **server session**, do an `abort` and `start` the *gem server* for interactive debugging: ```Smalltalk System abortTransaction. - (GemServerRegistry gemServerNamed: 'example') + (GemServer gemServerNamed: 'example') interactiveStartServiceOn: nil transactionMode: #'autoBegin'. ``` The **server session** will be blocked. - If you need to regain control you can interrupt the server using `CMD-.` in GemTools or tODE. + If you need to regain control you can interrupt the server using `ALT-.` in GemTools or tODE. 5. In the **client session**, schedule a `simple` task and `inspect` the result: ```Smalltalk | gemServer client task taskList result | - gemServer := GemServerRegistry gemServerNamed: 'example'. + gemServer := GemServer gemServerNamed: 'example'. client := gemServer clientClass new. result := client submitAndWaitFor: { #scheduleSimpleTask } @@ -896,7 +921,7 @@ If you are not using auto commit mode, then an explicit commit is needed.* 6. In the **client session**, schedule an `error` task, the debugger should come up on the **server session**: ```Smalltalk | gemServer client task taskList result | - gemServer := GemServerRegistry gemServerNamed: 'example'. + gemServer := GemServer gemServerNamed: 'example'. client := gemServer clientClass new. result := client submitAndWaitFor: { #scheduleError } @@ -906,12 +931,12 @@ If you are not using auto commit mode, then an explicit commit is needed.* 7. In the **server session** fiddle around with the debugger. When you are done, go ahead and close the debugger. Closing the debugger should terminate the Smalltalk process that was performing the task, but the other Smalltalk *gem server* processes are still active. - Rather than try to make sure that all of the *gem server* Smalltalk processes are terminted, it is probably simpler to logout, login and start the *gem server* processes again by repeating Step 4. + Rather than try to make sure that all of the *gem server* Smalltalk processes are terminated, it is probably simpler to logout, login and start the *gem server* processes again by repeating Step 4. 8. In the **client session**, schedule an `exampleHttpTask` task and `inspect` the result: ```Smalltalk | gemServer client task taskList result | - gemServer := GemServerRegistry gemServerNamed: 'example'. + gemServer := GemServer gemServerNamed: 'example'. client := gemServer clientClass new. result := client submitAndWaitFor: { #scheduleExampleHttpTask } diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/port.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/port.st new file mode 100644 index 0000000..c3aa2ab --- /dev/null +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/port.st @@ -0,0 +1,3 @@ +server compat +port + ^ self defaultPortOrResourceNameList first \ No newline at end of file diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/start.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/start.st index 2d2cfc0..b849b17 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/start.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/start.st @@ -1,3 +1,3 @@ server compat start - self interactiveStartServiceOn: nil transactionMode: #'manualBegin' \ No newline at end of file + self interactiveStartServiceOn: 'instance' transactionMode: #'manualBegin' \ No newline at end of file diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/methodProperties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/methodProperties.json index de88c9d..4e35695 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/methodProperties.json +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/methodProperties.json @@ -7,8 +7,9 @@ "initErrorLog" : "dkh 01/02/2015 15:39", "initialize" : "dkh 01/02/2015 17:18", "logStack:titled:inTransactionDo:" : "dkh 01/02/2015 15:42", + "port" : "dkh 01/06/2015 16:05", "queue" : "dkh 12/22/2014 19:48", "queueCounterValue" : "dkh 12/22/2014 19:48", "restart" : "dkh 12/24/2014 16:25", - "start" : "dkh 12/27/2014 08:56", + "start" : "dkh 01/06/2015 15:51", "stop" : "dkh 01/02/2015 17:16" } } diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExample.class/instance/gemServerHandleAlmostOutOfMemoryException..st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExample.class/instance/gemServerHandleAlmostOutOfMemoryException..st index 9f25805..fd49488 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExample.class/instance/gemServerHandleAlmostOutOfMemoryException..st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExample.class/instance/gemServerHandleAlmostOutOfMemoryException..st @@ -23,4 +23,4 @@ gemServerHandleAlmostOutOfMemoryException: exception self logStack: exception titled: - self name , ' ' , exception class name asString , ' exception encountered: ' "out of transaction or commit did not free up enough memory, unwind stack" \ No newline at end of file + self name , ' ' , exception class name asString , ' exception encountered:' "out of transaction or commit did not free up enough memory, unwind stack" \ No newline at end of file diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExample.class/instance/startBasicServerOn..st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExample.class/instance/startBasicServerOn..st index 1421e25..d74b9ae 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExample.class/instance/startBasicServerOn..st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExample.class/instance/startBasicServerOn..st @@ -1,9 +1,9 @@ service instance-server -startBasicServerOn: ignored +startBasicServerOn: portOrResourceName "start server in current vm. expected to return." self doTransaction: [ "prime the pump" currentQueueCounter := 0 ]. - super startBasicServerOn: ignored \ No newline at end of file + super startBasicServerOn: portOrResourceName \ No newline at end of file diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExample.class/methodProperties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExample.class/methodProperties.json index fb783ac..23ff48c 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExample.class/methodProperties.json +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExample.class/methodProperties.json @@ -8,12 +8,12 @@ "currentQueueCounter" : "dkh 12/22/2014 19:49", "doTraceTransaction:" : "dkh 12/26/2014 17:56", "exeConfPath" : "dkh 01/01/2015 18:11", - "gemServerHandleAlmostOutOfMemoryException:" : "dkh 01/01/2015 18:03", + "gemServerHandleAlmostOutOfMemoryException:" : "dkh 01/06/2015 16:50", "gemServerHandleRemoteInternalServerTriggerException:" : "dkh 12/24/2014 13:02", "initialize" : "dkh 12/24/2014 16:39", "processTasksOnQueue" : "dkh 12/30/2014 07:26", "serviceLoop" : "dkh 12/30/2014 07:27", - "startBasicServerOn:" : "dkh 01/02/2015 17:46", + "startBasicServerOn:" : "dkh 01/06/2015 16:06", "status" : "dkh 12/24/2014 17:35", "stop" : "dkh 12/24/2014 17:01", "taskServiceThreadBlock:" : "dkh 12/26/2014 16:29", diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/tearDown.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/tearDown.st index 74e7a1b..173f05b 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/tearDown.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/tearDown.st @@ -1,7 +1,7 @@ running tearDown | gemServer | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. super tearDown. (ObjectLogEntry trace: 'tearDown: stopGems') addToLog. gemServer diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/test100Tasks.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/test100Tasks.st index cd520f1..de92bd6 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/test100Tasks.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/test100Tasks.st @@ -1,7 +1,7 @@ tests test100Tasks | gemServer taskList client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true; tracing: true. diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testBreakpoint.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testBreakpoint.st index 01affc8..b107c85 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testBreakpoint.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testBreakpoint.st @@ -1,7 +1,7 @@ tests testBreakpoint | gemServer client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true; tracing: true. diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testError.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testError.st index 0787632..a347f93 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testError.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testError.st @@ -1,7 +1,7 @@ tests testError | gemServer client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true; tracing: true. diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testExampleHttp.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testExampleHttp.st index bc71963..aeeecb8 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testExampleHttp.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testExampleHttp.st @@ -1,7 +1,7 @@ tests testExampleHttp | gemServer taskList client completed | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true; tracing: true. diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testHalt.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testHalt.st index 14a3015..1a63a0f 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testHalt.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testHalt.st @@ -1,7 +1,7 @@ tests testHalt | gemServer client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true; tracing: true. diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testOutOfMemoryPersistent.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testOutOfMemoryPersistent.st index c61179a..569fb41 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testOutOfMemoryPersistent.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testOutOfMemoryPersistent.st @@ -1,7 +1,7 @@ tests testOutOfMemoryPersistent | gemServer client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true; tracing: true. diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testOutOfMemoryTemp.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testOutOfMemoryTemp.st index 1c52bb8..1a6192a 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testOutOfMemoryTemp.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testOutOfMemoryTemp.st @@ -1,7 +1,7 @@ tests testOutOfMemoryTemp | gemServer client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true; tracing: true. diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testSimple.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testSimple.st index 8d7c14f..969e488 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testSimple.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testSimple.st @@ -1,7 +1,7 @@ tests testSimple | gemServer client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true; tracing: true. diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testStackOverflow.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testStackOverflow.st index d2c828f..9e76c86 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testStackOverflow.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testStackOverflow.st @@ -1,7 +1,7 @@ tests testStackOverflow | gemServer client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true; tracing: true. diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testStatus.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testStatus.st index 84b2429..2d5794f 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testStatus.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testStatus.st @@ -1,7 +1,7 @@ tests testStatus | gemServer client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true; tracing: true. diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testTimeInLondon.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testTimeInLondon.st index d46105b..a33a104 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testTimeInLondon.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testTimeInLondon.st @@ -1,7 +1,7 @@ tests testTimeInLondon | gemServer taskList client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true; tracing: true. diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testWarning.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testWarning.st index ebabd06..382fa28 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testWarning.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testWarning.st @@ -1,7 +1,7 @@ tests testWarning | gemServer client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true; tracing: true. diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/methodProperties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/methodProperties.json index 5b9c137..bce312e 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/methodProperties.json +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/methodProperties.json @@ -11,17 +11,17 @@ "startGems:" : "dkh 12/23/2014 13:04", "stopGems:" : "dkh 12/23/2014 15:53", "taskList100" : "dkh 01/02/2015 09:20", - "tearDown" : "dkh 12/23/2014 18:41", - "test100Tasks" : "dkh 01/02/2015 10:38", - "testBreakpoint" : "dkh 01/01/2015 11:15", - "testError" : "dkh 01/01/2015 11:15", - "testExampleHttp" : "dkh 01/01/2015 11:17", - "testHalt" : "dkh 01/01/2015 11:15", - "testOutOfMemoryPersistent" : "dkh 01/01/2015 11:16", - "testOutOfMemoryTemp" : "dkh 01/01/2015 11:16", - "testSimple" : "dkh 01/01/2015 11:16", - "testStackOverflow" : "dkh 01/01/2015 11:16", - "testStatus" : "dkh 01/01/2015 11:16", - "testTimeInLondon" : "dkh 01/01/2015 11:18", - "testWarning" : "dkh 01/01/2015 11:16", + "tearDown" : "dkh 01/06/2015 13:41", + "test100Tasks" : "dkh 01/06/2015 13:41", + "testBreakpoint" : "dkh 01/06/2015 13:41", + "testError" : "dkh 01/06/2015 13:41", + "testExampleHttp" : "dkh 01/06/2015 13:41", + "testHalt" : "dkh 01/06/2015 13:41", + "testOutOfMemoryPersistent" : "dkh 01/06/2015 13:42", + "testOutOfMemoryTemp" : "dkh 01/06/2015 13:42", + "testSimple" : "dkh 01/06/2015 13:42", + "testStackOverflow" : "dkh 01/06/2015 13:42", + "testStatus" : "dkh 01/06/2015 13:42", + "testTimeInLondon" : "dkh 01/06/2015 13:42", + "testWarning" : "dkh 01/06/2015 13:42", "waitForTasks:gemServer:client:" : "dkh 01/01/2015 11:19" } } diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerParallelProcessingExampleTests.class/instance/testInternalServerError.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerParallelProcessingExampleTests.class/instance/testInternalServerError.st index 5a66ad1..4cc7637 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerParallelProcessingExampleTests.class/instance/testInternalServerError.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerParallelProcessingExampleTests.class/instance/testInternalServerError.st @@ -1,7 +1,7 @@ tests testInternalServerError | gemServer client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true; tracing: true. diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerParallelProcessingExampleTests.class/methodProperties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerParallelProcessingExampleTests.class/methodProperties.json index 403a248..493da06 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerParallelProcessingExampleTests.class/methodProperties.json +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerParallelProcessingExampleTests.class/methodProperties.json @@ -6,4 +6,4 @@ "gemServerClass" : "dkh 12/30/2014 12:46", "scheduledTaskList" : "dkh 12/30/2014 12:46", "taskList100" : "dkh 01/02/2015 09:18", - "testInternalServerError" : "dkh 01/01/2015 11:17" } } + "testInternalServerError" : "dkh 01/06/2015 13:42" } } diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/tearDown.st b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/tearDown.st index 8e7832d..9ad1fa9 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/tearDown.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/tearDown.st @@ -1,7 +1,7 @@ running tearDown | gemServer | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. super tearDown. gemServer doCommitTransaction; diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleError.st b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleError.st index 57fc217..7f88c0f 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleError.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleError.st @@ -1,7 +1,7 @@ tests testSeasideStyleError | gemServer client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true. gemServer scriptLogEvent: '---->testSeasideStyleError' object: gemServer. gemServer diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleHalt.st b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleHalt.st index e191cb8..b4b9d34 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleHalt.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleHalt.st @@ -1,7 +1,7 @@ tests testSeasideStyleHalt | gemServer client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true. gemServer scriptLogEvent: '---->testSeasideStyleHalt' object: gemServer. gemServer diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleOutOfMemoryPersistent.st b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleOutOfMemoryPersistent.st index 5f736fc..262ae54 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleOutOfMemoryPersistent.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleOutOfMemoryPersistent.st @@ -1,7 +1,7 @@ tests testSeasideStyleOutOfMemoryPersistent | gemServer client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true. gemServer scriptLogEvent: '---->testSeasideStyleOutOfMemoryPersistent' diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleOutOfMemoryTemp.st b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleOutOfMemoryTemp.st index 0a54e7f..9055901 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleOutOfMemoryTemp.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleOutOfMemoryTemp.st @@ -1,7 +1,7 @@ tests testSeasideStyleOutOfMemoryTemp | gemServer client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true. gemServer scriptLogEvent: '---->testSeasideStyleOutOfMemoryTemp' diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleSimple.st b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleSimple.st index 12b9305..a3e23b6 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleSimple.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleSimple.st @@ -1,7 +1,7 @@ tests testSeasideStyleSimple | gemServer client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true. gemServer scriptLogEvent: '---->testSeasideStyleSimple' object: gemServer. gemServer diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleStackOverflow.st b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleStackOverflow.st index 71ad91c..9e6b2d1 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleStackOverflow.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleStackOverflow.st @@ -1,7 +1,7 @@ tests testSeasideStyleStackOverflow | gemServer client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true. gemServer scriptLogEvent: '---->testSeasideStyleStackOverflow' diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleWarning.st b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleWarning.st index 6b4c610..0454b7b 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleWarning.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/testSeasideStyleWarning.st @@ -1,7 +1,7 @@ tests testSeasideStyleWarning | gemServer client | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer enableCreateContinuations: true. gemServer scriptLogEvent: '---->testSeasideStyleWarning' object: gemServer. gemServer diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/methodProperties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/methodProperties.json index e851c14..e925709 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/methodProperties.json +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/methodProperties.json @@ -7,12 +7,12 @@ "setUp" : "dkh 01/02/2015 14:45", "startGems:" : "dkh 01/02/2015 11:11", "stopGems:" : "dkh 01/02/2015 11:11", - "tearDown" : "dkh 01/02/2015 14:50", - "testSeasideStyleError" : "dkh 01/02/2015 16:05", - "testSeasideStyleHalt" : "dkh 01/02/2015 16:04", - "testSeasideStyleOutOfMemoryPersistent" : "dkh 01/02/2015 16:34", - "testSeasideStyleOutOfMemoryTemp" : "dkh 01/02/2015 16:38", - "testSeasideStyleSimple" : "dkh 01/02/2015 12:33", - "testSeasideStyleStackOverflow" : "dkh 01/02/2015 16:30", - "testSeasideStyleWarning" : "dkh 01/02/2015 16:06", + "tearDown" : "dkh 01/06/2015 13:42", + "testSeasideStyleError" : "dkh 01/06/2015 13:42", + "testSeasideStyleHalt" : "dkh 01/06/2015 13:42", + "testSeasideStyleOutOfMemoryPersistent" : "dkh 01/06/2015 13:42", + "testSeasideStyleOutOfMemoryTemp" : "dkh 01/06/2015 13:42", + "testSeasideStyleSimple" : "dkh 01/06/2015 13:43", + "testSeasideStyleStackOverflow" : "dkh 01/06/2015 13:43", + "testSeasideStyleWarning" : "dkh 01/06/2015 13:43", "waitAndValidateResponse:" : "dkh 01/02/2015 12:05" } } diff --git a/repository/GsApplicationTools-ExampleV31.package/monticello.meta/version b/repository/GsApplicationTools-ExampleV31.package/monticello.meta/version index aa1b5da..808b79f 100644 --- a/repository/GsApplicationTools-ExampleV31.package/monticello.meta/version +++ b/repository/GsApplicationTools-ExampleV31.package/monticello.meta/version @@ -1 +1 @@ -(name 'GsApplicationTools-ExampleV31-dkh.63' message 'Issue #10: add GemServerRemoteClientExample>>submitAndWaitFor:gemServer: to make example in doc a bit easier to understand' id 'a801997f-7ab7-4593-859a-8efac0766a41' date '01/05/2015' time '20:10:53' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.62' message 'Issue #10: bump up delay for GemServerRemoteClientExample>>scheduleStatusTask' id '0fbc101f-6f4e-4104-8c54-29a03c05e375' date '01/03/2015' time '13:28:24' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.61' message 'Issue #10: tweak GemServerRemoteClientExample>>waitForTasks:gemServer:' id '34485e6e-3b04-47ab-bec1-4325682c8b3a' date '01/03/2015' time '13:26:20' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.60' message 'Issue #10: convert startBasicServerOn: to basicServerOn: ... basicServerOn: is now the method that should be subclassed' id '80cd59e5-ae0c-432c-920a-c71d8413bb8a' date '01/02/2015' time '17:54:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.59' message 'Issue #10: move basicServerProcess up to GemServer ...' id '2c4017f2-1b7b-4082-9e38-63e96b2f2481' date '01/02/2015' time '17:38:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.58' message 'Issue #10: finish up tests for seaside-style gemserver example' id '359c8bcc-553c-4ddf-b4a0-cad7b9959899' date '01/02/2015' time '16:46:38' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.57' message 'Issue #10: seaside-style example gem server is now functional and passing a couple of tests ' id '04caa6d3-4e33-4990-86b5-7a43cecfe41a' date '01/02/2015' time '15:26:40' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.56' message 'Issue #10: checkpoint with seaside-style example' id 'a64ffc61-fc25-4238-98b2-a8f234ef1919' date '01/02/2015' time '12:18:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.55' message 'Issue #10: stubborn 3.1.0.6 wants to fail ... reduce the task list even further for test100Tasks too much stress?' id '32831007-cc7b-48bd-a58e-df2e83d7224e' date '01/02/2015' time '10:39:01' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.54' message 'Issue #10: start using a fixed list of 100 tasks ... I suspect that some random failures were due to running out of extent space with too many persistent AOM tests....' id 'c7dcb83b-1d8c-4804-ada7-2f938714f72a' date '01/02/2015' time '09:22:06' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.53' message 'Issue #10: remove some logging ... reduce percent tOC for triggering AOM to provide some cushion for death (with increased TOC default sice)' id 'a17dfd1e-4577-41be-8cd6-cad0bb5c0f56' date '01/01/2015' time '19:57:08' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.52' message 'Issue #10: default gem.conf file added ... use the default gem.conf for GemServerRemoteServerExample-based tests ... improve GemServer>>performOnServer: error message ... address the AlmostOutOfMemoory issue (for good?) apparently AlmostOutOfMemoory wasn''t getting re-enabled ' id 'a276bfa4-254c-40c9-9506-ca6ae8b3023f' date '01/01/2015' time '18:14:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.51' message 'Issue #10: perhaps the granlarity of growth is the root cause .. looks like the vm is running out of memory in the process of handling the signal ... we''re creating a continuation ... a smaller increment means that we won''t be overrunning the limit by quite as much' id '15ff176b-f2ac-4deb-ae0d-e5ceea8b7af8' date '01/01/2015' time '13:25:00' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.50' message 'Issue #10: additional tracking and slightly restructured GemServerRemoteClientExample>>outOfMemoryTempMethod ... ' id '8003af06-5c4f-46a8-8969-fd2d09f7dbf9' date '01/01/2015' time '12:54:10' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.49' message 'Issue #10: more work on seaside-style persistence example ... convert to task-based instead of http request-based since it won''t really be handling requests ...' id 'c1cec03e-7160-4dce-baa4-6cb408b05778' date '01/01/2015' time '11:45:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.48' message 'Issue #10: fiddle with test strcuture ... gather more information about the random failures ... (fail on travis, but not locally)' id '72322c71-a1c2-4606-a7d6-688f80b3cd5f' date '01/01/2015' time '11:20:35' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.47' message 'Issue #10: avoid infinite loops in GemServerRemoteClientExample>>outOfMemoryTempMethod' id '481cf328-cdc4-493d-845c-f454043b54df' date '01/01/2015' time '09:57:47' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.46' message 'Issue #10: address GemServerRemoteServerParallelProcessingExampleTests>>#testInternalServerError failure ... tweak GemServerRemoteTaskExample class>>reset to avoid potential commit conflicts' id 'ab60f1e0-f677-48e4-a61f-e682471eb984' date '12/31/2014' time '21:16:22' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.45' message 'Issue #10: missed renaming GemServerRemoteTask* classes' id 'a19991fe-f4a7-46eb-8410-3bc7d0cd3371' date '12/31/2014' time '20:53:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.44' message 'Issue #10: seaside-style example ... checkpoint' id '6e36784b-97cc-4d9d-8a78-3d8cd022b11c' date '12/31/2014' time '14:55:39' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.43' message 'Issue #10: clean up sent but not implemented ... fix GemServerInteractiveVMTests test failures' id 'ce4b0d8a-dda5-4aa7-9b40-9376c054ae2e' date '12/31/2014' time '13:02:42' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.42' message 'Issue #10: remove GemServerRemoteServerSerialProcessingExample>>startBasicServerOn: ... bad boy ... don''t automatically go into interactiveMode when running GemServer>>interactiveStartServiceOn:transactionMode: ... interactiveMode setting for server should be independently controlled, since it is convenient to use interactiveStart... to run tests without debugging exceptions ... to verify that bug is really fixed ... fix logic in GemServer>>doTransaction:onConflict:' id '36fb0650-3e06-42d6-bfb2-f7c7395fd516' date '12/31/2014' time '12:24:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.41' message 'Issue #10: checkpoint on seaside-style transaction model ... address test failures ...' id '70ecc555-aafa-4934-8808-9df369f664e4' date '12/31/2014' time '10:50:07' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.40' message 'Issue #10: more refactoring in face of building a sensible seaside gemserver stack' id '873e582c-8d7d-4f5b-ad40-a70579a0e1e0' date '12/30/2014' time '17:18:53' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.39' message 'Issue #10: rename *TransactionModelA* classes to *ParallelProcessing* and *TransactionModelB* classes to *SerialProcessing*' id 'd9a4b6f5-8664-4920-9e85-2e7c52091c05' date '12/30/2014' time '12:48:28' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.38' message 'Issue #10: accidentally removed GemServerRemoteServerTransactionModelAExample>>taskServiceThreadBlock: ... restored' id '4934525f-b0b2-407f-8f77-cf4bf15ee87c' date '12/30/2014' time '12:42:23' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.37' message 'Issue #10: rename gemServer:* selectors to use beforeUnwind: instead of onError:' id '69e7edb0-6f4f-4c8e-b561-2d9b10dc2303' date '12/30/2014' time '12:27:11' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.36' message 'Issue #10: implement GemServer>>doBasicTransaction:, GemServer>>doTransaction:, and GemServer>>doTransaction:onConflict: to replace GemServer>>doSimpleTransaction: and GemServer>>doComplexTransaction:onConflict: ... ongoing docs work' id '4cae6a25-ac44-496d-a229-6f3f46f83c74' date '12/30/2014' time '07:34:42' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.35' message 'Issue #10: restore the exception pass for gemServerHandleErrorException: ... comment fiddling' id '9bd3adbf-8db5-4db1-a76b-00c4295e74e2' date '12/29/2014' time '18:03:59' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.34' message 'Issue #10: start todeDebugging.md document and tweak server code a bit ...' id '61200a00-7426-41fa-a2c8-e5b4a8a432b4' date '12/28/2014' time '11:25:52' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.33' message 'Issue #10: straighten out interactiveMode operation with respect to exception passing .... fix handling of AlmostOutOfMemory exception with temp stack references in GemServerRemoteServerExample' id '2fb4afcf-42fb-467e-91bc-8dbcc1e8c45b' date '12/28/2014' time '07:13:49' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.32' message 'Issue #10: MAJOR REFACTORING ... transaction model A runs out of transaction most of the time allowing for concurrent request handling ... transaction model B runs in transaction, synced on transaction mutex, ala Seaside transaction model ... still some fine tuning to do ...' id 'fb66f491-b3b3-4266-85a8-303b15f3592e' date '12/26/2014' time '19:03:39' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.31' message 'Issue #10: [now that tests are (finally) green again](https://travis-ci.org/GsDevKit/gsApplicationTools/builds/45173024) turn continuations for all tests' id 'adc89b22-c441-4804-aec1-1bc0bced1a2d' date '12/26/2014' time '12:37:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.30' message 'Issue #10: sigh ... more logging needed as timeInLondon task was invalide during 100task test ... why? ...' id '3d9b166f-19d8-4b48-85bf-a128acefa74d' date '12/26/2014' time '12:23:36' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.29' message 'Issue #10: add a tad bit more info to failure logging (actual delay amount)' id '6c9c29c7-3d17-420d-84a7-37356bbf2137' date '12/26/2014' time '11:26:52' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.28' message 'Issue #10: need even more failure logging ... jeesh!' id '894920b4-e621-41a5-8f13-d4991171de9c' date '12/26/2014' time '11:23:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.27' message 'Issue #10: improve logging of test failure ... introduce task specific delay' id '28317e0a-c22e-4db4-842c-7129eae719ed' date '12/26/2014' time '10:58:55' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.26' message 'Issue #10: now enable continuations for those tests that do not normally produce continuations anyway...' id 'eccaa00e-4909-4cd3-bbea-c3ece4502754' date '12/26/2014' time '08:33:31' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.25' message 'Issue #10: add GemServer>>enableCreateContinuations and disable continuations for all GemServerRemoteServerExampleTests ... run baseline tests ' id 'fb780894-33e4-40e3-bbae-3e6197976281' date '12/26/2014' time '08:31:01' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.24' message 'Issue #10: wrap proc with TransientStackValue and enable continuations again ...' id '7c1bed23-50ef-4111-bb3a-41ede84ace39' date '12/26/2014' time '07:53:45' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.23' message 'Issue #10: bump up wait time...' id '23713a0d-f0c9-4039-8fd9-586d13fa4eac' date '12/25/2014' time '21:33:12' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.22' message 'Issue #10: Delay and persistent blocks do not mix' id 'db3e5f0f-e1fc-40c7-90ae-5a632292270f' date '12/25/2014' time '15:04:48' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.21' message 'Issue #10: wrap delays with a TransientStackValue' id '83cb9b90-7e93-4250-8529-52c03ac9af7a' date '12/25/2014' time '13:48:18' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.20' message 'Issue #10: I think the http socket calls should be okay ... as long as we don''t catch a socket on the stack ...' id '7a351ded-5a3a-43db-a435-9bb4e12930d4' date '12/25/2014' time '13:19:34' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.19' message 'Issue #10: oops' id '2e63c394-74ab-48b8-a254-87983cb4fcc3' date '12/25/2014' time '11:48:09' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.18' message 'Issue #10: wire out the delays and socket calls ... ' id 'd0cca25c-8434-4596-baef-394a683b7156' date '12/25/2014' time '11:42:26' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.17' message 'Issue #10: tweak test logging ' id '6aad3e4f-f601-41b9-9ba3-0ad86cede898' date '12/25/2014' time '10:07:54' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.16' message 'Issue #10: add crashLog to GemServer ... clients can recognize that a gem has crashed and take action...' id 'ae5f5708-720f-4041-9b11-195d214d952f' date '12/25/2014' time '08:25:24' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.15' message 'Issue #10: more GemServerRemoteServerExampleTests>>test100Tasks logging' id 'bc6409b2-8167-4566-9f6e-8fd90f2b7cfd' date '12/25/2014' time '07:37:30' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.14' message 'Issue #10: add status task that answers a printed version of server status...' id '78e6eb1e-659f-4042-89f6-ab1f135c7fdb' date '12/24/2014' time '17:51:54' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.13' message 'Issue #10: more support for interactive debugging of server in dev environment' id '67e5e68b-ae6b-4121-9eb8-fdd7b9d9a636' date '12/24/2014' time '17:26:15' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.12' message 'Issue #10: tweaks for interactive debugging of server ... add 3.2.2 to lineup (is 3.2.3-specific problem?) ... add example script in support of interactive debugging' id '456c0942-e052-437b-9dcb-c42c8abf6593' date '12/24/2014' time '15:48:32' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.11' message 'Issue #10: suspicious that AlmostOutOfMemory leaks over to other tests when running GemServerRemoteServerExampleTests>>test100Tasks' id '5743e786-da93-453b-a13e-8a7f0933a3d1' date '12/24/2014' time '14:33:47' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.10' message 'Issue #10: use double dispatching for cutomization of exception handling: exception implements exceptionHandlingForGemServer: to route appropriate message to server. Add AlmostOutOfMemory and AlmostOutOfStack support to GemServer ... add GemServerRemoteServerExampleTests tests for internal server errors, Warning, AlmostOutOfMemory and AlmostOutOfStack' id '9b9986ec-814f-4fad-8d51-2c264fc32021' date '12/24/2014' time '13:37:21' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.9' message 'Issue #10: remove test error logging ...' id '9895d432-4c6b-41c3-962e-7cba3e8a1fb3' date '12/23/2014' time '18:42:35' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.8' message 'Issue #10: address the test error....' id '8a84c500-b340-4bab-94a1-c1c03fb7853f' date '12/23/2014' time '18:38:06' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.7' message 'Issue #10: a bit more error logging for GemServerRemoteServerExampleTests' id '19006956-b56d-49f2-a743-199cbbb10e58' date '12/23/2014' time '18:03:26' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.6' message 'Issue #10: a bit more tracing for example server ... found an inProcess leak ... added GemServerRemoteServerExampleTests>>test100Tasks to put a little bit of stress on the server ... error logging in GemServerRemoteServerExampleTests>>testSimple (test errors on travis?)' id '63aec389-c2b9-481a-8b54-b56170890a09' date '12/23/2014' time '17:51:43' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.5' message 'Issue #10: breakpoint, halt and another http example' id 'c6e448dd-a937-4727-9424-d2e55a542779' date '12/23/2014' time '16:28:40' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.4' message 'Issue #10: add some tracing to example server add add HTTP task ..' id '94710160-3ee0-4a25-953d-45f7ed151834' date '12/23/2014' time '16:01:19' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.3' message 'Issue #10: added an error task to RemoteTaskExample ...' id '50db322e-fda3-41db-b76a-ff2304a2ae46' date '12/23/2014' time '15:17:23' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.2' message 'Issue #10: expand gemserver api a bit more ... add simple test for GemServerRemoteServerExample and it is passing' id '29f6b22c-0001-4abf-86d3-d7139c7acf47' date '12/23/2014' time '14:01:04' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.1' message 'Issue #10: add GemServer>>gemServer: and GemServer>>gemServer:onError: as non-transactional veriants for handling server errors, breakpoints and halts (should satisfy Issue #12)...refactor GemServer>>gemServerTransaction:onError: to use GemServer>>gemServer:onError: ... add GemServer>>handleGemServerException: to isolate server error and interactiveMoe logic ... GemServer>>serverError:titled:inTransactionDo: allows for performing optional work in the same transaction as the continuation ... if one is already in transaction a commit is expected to come from the caller ... started work on an example server as the GemServerTestServer has been sacrificed to being able to test various error conditions and is no longer a clean example ...' id '547286cc-5384-4d19-ab90-3d2643e15ab5' date '12/23/2014' time '11:19:31' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'GsApplicationTools-ExampleV31-dkh.66' message 'Issue #58: checkpoint while working through @rjsargent (very thorough) document review' id '4db76e16-97ae-4007-bd88-1ffb4d3b57ba' date '01/06/2015' time '17:07:33' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.65' message 'more work on replace use of ports with portOrResourceNameList' id '7b120354-dbf6-4928-92fe-2bad21e3dacb' date '01/06/2015' time '16:18:12' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.64' message 'Make GemServerRegistry a second class object by moving interesting protocol to GemServer' id '8dc8b634-f45e-4bc6-b9fb-79d99c526f29' date '01/06/2015' time '13:45:21' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.63' message 'Issue #10: add GemServerRemoteClientExample>>submitAndWaitFor:gemServer: to make example in doc a bit easier to understand' id 'a801997f-7ab7-4593-859a-8efac0766a41' date '01/05/2015' time '20:10:53' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.62' message 'Issue #10: bump up delay for GemServerRemoteClientExample>>scheduleStatusTask' id '0fbc101f-6f4e-4104-8c54-29a03c05e375' date '01/03/2015' time '13:28:24' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.61' message 'Issue #10: tweak GemServerRemoteClientExample>>waitForTasks:gemServer:' id '34485e6e-3b04-47ab-bec1-4325682c8b3a' date '01/03/2015' time '13:26:20' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.60' message 'Issue #10: convert startBasicServerOn: to basicServerOn: ... basicServerOn: is now the method that should be subclassed' id '80cd59e5-ae0c-432c-920a-c71d8413bb8a' date '01/02/2015' time '17:54:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.59' message 'Issue #10: move basicServerProcess up to GemServer ...' id '2c4017f2-1b7b-4082-9e38-63e96b2f2481' date '01/02/2015' time '17:38:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.58' message 'Issue #10: finish up tests for seaside-style gemserver example' id '359c8bcc-553c-4ddf-b4a0-cad7b9959899' date '01/02/2015' time '16:46:38' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.57' message 'Issue #10: seaside-style example gem server is now functional and passing a couple of tests ' id '04caa6d3-4e33-4990-86b5-7a43cecfe41a' date '01/02/2015' time '15:26:40' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.56' message 'Issue #10: checkpoint with seaside-style example' id 'a64ffc61-fc25-4238-98b2-a8f234ef1919' date '01/02/2015' time '12:18:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.55' message 'Issue #10: stubborn 3.1.0.6 wants to fail ... reduce the task list even further for test100Tasks too much stress?' id '32831007-cc7b-48bd-a58e-df2e83d7224e' date '01/02/2015' time '10:39:01' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.54' message 'Issue #10: start using a fixed list of 100 tasks ... I suspect that some random failures were due to running out of extent space with too many persistent AOM tests....' id 'c7dcb83b-1d8c-4804-ada7-2f938714f72a' date '01/02/2015' time '09:22:06' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.53' message 'Issue #10: remove some logging ... reduce percent tOC for triggering AOM to provide some cushion for death (with increased TOC default sice)' id 'a17dfd1e-4577-41be-8cd6-cad0bb5c0f56' date '01/01/2015' time '19:57:08' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.52' message 'Issue #10: default gem.conf file added ... use the default gem.conf for GemServerRemoteServerExample-based tests ... improve GemServer>>performOnServer: error message ... address the AlmostOutOfMemoory issue (for good?) apparently AlmostOutOfMemoory wasn''t getting re-enabled ' id 'a276bfa4-254c-40c9-9506-ca6ae8b3023f' date '01/01/2015' time '18:14:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.51' message 'Issue #10: perhaps the granlarity of growth is the root cause .. looks like the vm is running out of memory in the process of handling the signal ... we''re creating a continuation ... a smaller increment means that we won''t be overrunning the limit by quite as much' id '15ff176b-f2ac-4deb-ae0d-e5ceea8b7af8' date '01/01/2015' time '13:25:00' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.50' message 'Issue #10: additional tracking and slightly restructured GemServerRemoteClientExample>>outOfMemoryTempMethod ... ' id '8003af06-5c4f-46a8-8969-fd2d09f7dbf9' date '01/01/2015' time '12:54:10' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.49' message 'Issue #10: more work on seaside-style persistence example ... convert to task-based instead of http request-based since it won''t really be handling requests ...' id 'c1cec03e-7160-4dce-baa4-6cb408b05778' date '01/01/2015' time '11:45:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.48' message 'Issue #10: fiddle with test strcuture ... gather more information about the random failures ... (fail on travis, but not locally)' id '72322c71-a1c2-4606-a7d6-688f80b3cd5f' date '01/01/2015' time '11:20:35' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.47' message 'Issue #10: avoid infinite loops in GemServerRemoteClientExample>>outOfMemoryTempMethod' id '481cf328-cdc4-493d-845c-f454043b54df' date '01/01/2015' time '09:57:47' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.46' message 'Issue #10: address GemServerRemoteServerParallelProcessingExampleTests>>#testInternalServerError failure ... tweak GemServerRemoteTaskExample class>>reset to avoid potential commit conflicts' id 'ab60f1e0-f677-48e4-a61f-e682471eb984' date '12/31/2014' time '21:16:22' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.45' message 'Issue #10: missed renaming GemServerRemoteTask* classes' id 'a19991fe-f4a7-46eb-8410-3bc7d0cd3371' date '12/31/2014' time '20:53:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.44' message 'Issue #10: seaside-style example ... checkpoint' id '6e36784b-97cc-4d9d-8a78-3d8cd022b11c' date '12/31/2014' time '14:55:39' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.43' message 'Issue #10: clean up sent but not implemented ... fix GemServerInteractiveVMTests test failures' id 'ce4b0d8a-dda5-4aa7-9b40-9376c054ae2e' date '12/31/2014' time '13:02:42' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.42' message 'Issue #10: remove GemServerRemoteServerSerialProcessingExample>>startBasicServerOn: ... bad boy ... don''t automatically go into interactiveMode when running GemServer>>interactiveStartServiceOn:transactionMode: ... interactiveMode setting for server should be independently controlled, since it is convenient to use interactiveStart... to run tests without debugging exceptions ... to verify that bug is really fixed ... fix logic in GemServer>>doTransaction:onConflict:' id '36fb0650-3e06-42d6-bfb2-f7c7395fd516' date '12/31/2014' time '12:24:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.41' message 'Issue #10: checkpoint on seaside-style transaction model ... address test failures ...' id '70ecc555-aafa-4934-8808-9df369f664e4' date '12/31/2014' time '10:50:07' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.40' message 'Issue #10: more refactoring in face of building a sensible seaside gemserver stack' id '873e582c-8d7d-4f5b-ad40-a70579a0e1e0' date '12/30/2014' time '17:18:53' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.39' message 'Issue #10: rename *TransactionModelA* classes to *ParallelProcessing* and *TransactionModelB* classes to *SerialProcessing*' id 'd9a4b6f5-8664-4920-9e85-2e7c52091c05' date '12/30/2014' time '12:48:28' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.38' message 'Issue #10: accidentally removed GemServerRemoteServerTransactionModelAExample>>taskServiceThreadBlock: ... restored' id '4934525f-b0b2-407f-8f77-cf4bf15ee87c' date '12/30/2014' time '12:42:23' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.37' message 'Issue #10: rename gemServer:* selectors to use beforeUnwind: instead of onError:' id '69e7edb0-6f4f-4c8e-b561-2d9b10dc2303' date '12/30/2014' time '12:27:11' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.36' message 'Issue #10: implement GemServer>>doBasicTransaction:, GemServer>>doTransaction:, and GemServer>>doTransaction:onConflict: to replace GemServer>>doSimpleTransaction: and GemServer>>doComplexTransaction:onConflict: ... ongoing docs work' id '4cae6a25-ac44-496d-a229-6f3f46f83c74' date '12/30/2014' time '07:34:42' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.35' message 'Issue #10: restore the exception pass for gemServerHandleErrorException: ... comment fiddling' id '9bd3adbf-8db5-4db1-a76b-00c4295e74e2' date '12/29/2014' time '18:03:59' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.34' message 'Issue #10: start todeDebugging.md document and tweak server code a bit ...' id '61200a00-7426-41fa-a2c8-e5b4a8a432b4' date '12/28/2014' time '11:25:52' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.33' message 'Issue #10: straighten out interactiveMode operation with respect to exception passing .... fix handling of AlmostOutOfMemory exception with temp stack references in GemServerRemoteServerExample' id '2fb4afcf-42fb-467e-91bc-8dbcc1e8c45b' date '12/28/2014' time '07:13:49' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.32' message 'Issue #10: MAJOR REFACTORING ... transaction model A runs out of transaction most of the time allowing for concurrent request handling ... transaction model B runs in transaction, synced on transaction mutex, ala Seaside transaction model ... still some fine tuning to do ...' id 'fb66f491-b3b3-4266-85a8-303b15f3592e' date '12/26/2014' time '19:03:39' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.31' message 'Issue #10: [now that tests are (finally) green again](https://travis-ci.org/GsDevKit/gsApplicationTools/builds/45173024) turn continuations for all tests' id 'adc89b22-c441-4804-aec1-1bc0bced1a2d' date '12/26/2014' time '12:37:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.30' message 'Issue #10: sigh ... more logging needed as timeInLondon task was invalide during 100task test ... why? ...' id '3d9b166f-19d8-4b48-85bf-a128acefa74d' date '12/26/2014' time '12:23:36' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.29' message 'Issue #10: add a tad bit more info to failure logging (actual delay amount)' id '6c9c29c7-3d17-420d-84a7-37356bbf2137' date '12/26/2014' time '11:26:52' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.28' message 'Issue #10: need even more failure logging ... jeesh!' id '894920b4-e621-41a5-8f13-d4991171de9c' date '12/26/2014' time '11:23:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.27' message 'Issue #10: improve logging of test failure ... introduce task specific delay' id '28317e0a-c22e-4db4-842c-7129eae719ed' date '12/26/2014' time '10:58:55' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.26' message 'Issue #10: now enable continuations for those tests that do not normally produce continuations anyway...' id 'eccaa00e-4909-4cd3-bbea-c3ece4502754' date '12/26/2014' time '08:33:31' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.25' message 'Issue #10: add GemServer>>enableCreateContinuations and disable continuations for all GemServerRemoteServerExampleTests ... run baseline tests ' id 'fb780894-33e4-40e3-bbae-3e6197976281' date '12/26/2014' time '08:31:01' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.24' message 'Issue #10: wrap proc with TransientStackValue and enable continuations again ...' id '7c1bed23-50ef-4111-bb3a-41ede84ace39' date '12/26/2014' time '07:53:45' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.23' message 'Issue #10: bump up wait time...' id '23713a0d-f0c9-4039-8fd9-586d13fa4eac' date '12/25/2014' time '21:33:12' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.22' message 'Issue #10: Delay and persistent blocks do not mix' id 'db3e5f0f-e1fc-40c7-90ae-5a632292270f' date '12/25/2014' time '15:04:48' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.21' message 'Issue #10: wrap delays with a TransientStackValue' id '83cb9b90-7e93-4250-8529-52c03ac9af7a' date '12/25/2014' time '13:48:18' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.20' message 'Issue #10: I think the http socket calls should be okay ... as long as we don''t catch a socket on the stack ...' id '7a351ded-5a3a-43db-a435-9bb4e12930d4' date '12/25/2014' time '13:19:34' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.19' message 'Issue #10: oops' id '2e63c394-74ab-48b8-a254-87983cb4fcc3' date '12/25/2014' time '11:48:09' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.18' message 'Issue #10: wire out the delays and socket calls ... ' id 'd0cca25c-8434-4596-baef-394a683b7156' date '12/25/2014' time '11:42:26' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.17' message 'Issue #10: tweak test logging ' id '6aad3e4f-f601-41b9-9ba3-0ad86cede898' date '12/25/2014' time '10:07:54' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.16' message 'Issue #10: add crashLog to GemServer ... clients can recognize that a gem has crashed and take action...' id 'ae5f5708-720f-4041-9b11-195d214d952f' date '12/25/2014' time '08:25:24' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.15' message 'Issue #10: more GemServerRemoteServerExampleTests>>test100Tasks logging' id 'bc6409b2-8167-4566-9f6e-8fd90f2b7cfd' date '12/25/2014' time '07:37:30' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.14' message 'Issue #10: add status task that answers a printed version of server status...' id '78e6eb1e-659f-4042-89f6-ab1f135c7fdb' date '12/24/2014' time '17:51:54' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.13' message 'Issue #10: more support for interactive debugging of server in dev environment' id '67e5e68b-ae6b-4121-9eb8-fdd7b9d9a636' date '12/24/2014' time '17:26:15' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.12' message 'Issue #10: tweaks for interactive debugging of server ... add 3.2.2 to lineup (is 3.2.3-specific problem?) ... add example script in support of interactive debugging' id '456c0942-e052-437b-9dcb-c42c8abf6593' date '12/24/2014' time '15:48:32' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.11' message 'Issue #10: suspicious that AlmostOutOfMemory leaks over to other tests when running GemServerRemoteServerExampleTests>>test100Tasks' id '5743e786-da93-453b-a13e-8a7f0933a3d1' date '12/24/2014' time '14:33:47' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.10' message 'Issue #10: use double dispatching for cutomization of exception handling: exception implements exceptionHandlingForGemServer: to route appropriate message to server. Add AlmostOutOfMemory and AlmostOutOfStack support to GemServer ... add GemServerRemoteServerExampleTests tests for internal server errors, Warning, AlmostOutOfMemory and AlmostOutOfStack' id '9b9986ec-814f-4fad-8d51-2c264fc32021' date '12/24/2014' time '13:37:21' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.9' message 'Issue #10: remove test error logging ...' id '9895d432-4c6b-41c3-962e-7cba3e8a1fb3' date '12/23/2014' time '18:42:35' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.8' message 'Issue #10: address the test error....' id '8a84c500-b340-4bab-94a1-c1c03fb7853f' date '12/23/2014' time '18:38:06' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.7' message 'Issue #10: a bit more error logging for GemServerRemoteServerExampleTests' id '19006956-b56d-49f2-a743-199cbbb10e58' date '12/23/2014' time '18:03:26' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.6' message 'Issue #10: a bit more tracing for example server ... found an inProcess leak ... added GemServerRemoteServerExampleTests>>test100Tasks to put a little bit of stress on the server ... error logging in GemServerRemoteServerExampleTests>>testSimple (test errors on travis?)' id '63aec389-c2b9-481a-8b54-b56170890a09' date '12/23/2014' time '17:51:43' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.5' message 'Issue #10: breakpoint, halt and another http example' id 'c6e448dd-a937-4727-9424-d2e55a542779' date '12/23/2014' time '16:28:40' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.4' message 'Issue #10: add some tracing to example server add add HTTP task ..' id '94710160-3ee0-4a25-953d-45f7ed151834' date '12/23/2014' time '16:01:19' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.3' message 'Issue #10: added an error task to RemoteTaskExample ...' id '50db322e-fda3-41db-b76a-ff2304a2ae46' date '12/23/2014' time '15:17:23' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.2' message 'Issue #10: expand gemserver api a bit more ... add simple test for GemServerRemoteServerExample and it is passing' id '29f6b22c-0001-4abf-86d3-d7139c7acf47' date '12/23/2014' time '14:01:04' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.1' message 'Issue #10: add GemServer>>gemServer: and GemServer>>gemServer:onError: as non-transactional veriants for handling server errors, breakpoints and halts (should satisfy Issue #12)...refactor GemServer>>gemServerTransaction:onError: to use GemServer>>gemServer:onError: ... add GemServer>>handleGemServerException: to isolate server error and interactiveMoe logic ... GemServer>>serverError:titled:inTransactionDo: allows for performing optional work in the same transaction as the continuation ... if one is already in transaction a commit is expected to come from the caller ... started work on an example server as the GemServerTestServer has been sacrificed to being able to test various error conditions and is no longer a clean example ...' id '547286cc-5384-4d19-ab90-3d2643e15ab5' date '12/23/2014' time '11:19:31' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/class/addGemServer..st b/repository/GsApplicationTools-Server.package/GemServer.class/class/addGemServer..st new file mode 100644 index 0000000..28f66a6 --- /dev/null +++ b/repository/GsApplicationTools-Server.package/GemServer.class/class/addGemServer..st @@ -0,0 +1,3 @@ +registry accessing +addGemServer: aServer + ^ GemServerRegistry addGemServer: aServer \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/class/createServerOfClass.withName.on..st b/repository/GsApplicationTools-Server.package/GemServer.class/class/createServerOfClass.withName.on..st index fa2a0c5..9ef084f 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/class/createServerOfClass.withName.on..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/class/createServerOfClass.withName.on..st @@ -1,7 +1,7 @@ instance creation -createServerOfClass: aServerClass withName: aName on: anArrayOfPortNumbers - ^self new - serverClass: aServerClass; - name: aName; - ports: anArrayOfPortNumbers; - yourself. \ No newline at end of file +createServerOfClass: aServerClass withName: aName on: anArrayOfPortNumbersOrResourceNames + ^ self new + serverClass: aServerClass; + name: aName; + portOrResourceNameList: anArrayOfPortNumbersOrResourceNames; + yourself \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/class/defaultPortList.st b/repository/GsApplicationTools-Server.package/GemServer.class/class/defaultPortList.st deleted file mode 100644 index 93e77b3..0000000 --- a/repository/GsApplicationTools-Server.package/GemServer.class/class/defaultPortList.st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -defaultPortList - ^ #(8383) \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/class/defaultPortOrResourceNameList.st b/repository/GsApplicationTools-Server.package/GemServer.class/class/defaultPortOrResourceNameList.st new file mode 100644 index 0000000..1f01c54 --- /dev/null +++ b/repository/GsApplicationTools-Server.package/GemServer.class/class/defaultPortOrResourceNameList.st @@ -0,0 +1,3 @@ +accessing +defaultPortOrResourceNameList + ^ #(8383) \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/class/gemServerNamed..st b/repository/GsApplicationTools-Server.package/GemServer.class/class/gemServerNamed..st new file mode 100644 index 0000000..451820e --- /dev/null +++ b/repository/GsApplicationTools-Server.package/GemServer.class/class/gemServerNamed..st @@ -0,0 +1,3 @@ +registry accessing +gemServerNamed: aString + ^ GemServerRegistry gemServerNamed: aString \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/class/gemServerNames.st b/repository/GsApplicationTools-Server.package/GemServer.class/class/gemServerNames.st new file mode 100644 index 0000000..556091e --- /dev/null +++ b/repository/GsApplicationTools-Server.package/GemServer.class/class/gemServerNames.st @@ -0,0 +1,3 @@ +registry accessing +gemServerNames + ^ GemServerRegistry gemServerNames \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/class/register..st b/repository/GsApplicationTools-Server.package/GemServer.class/class/register..st index 5a203b5..66d4b03 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/class/register..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/class/register..st @@ -1,3 +1,6 @@ -registration +gem server registration register: aName - ^ self register: aName for: self serverClass on: self defaultPortList \ No newline at end of file + ^ self + register: aName + for: self serverClass + on: self defaultPortOrResourceNameList \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/class/register.for.on..st b/repository/GsApplicationTools-Server.package/GemServer.class/class/register.for.on..st index 812cf75..d58b22d 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/class/register.for.on..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/class/register.for.on..st @@ -1,8 +1,8 @@ -registration -register: aName for: aServerClass on: anArrayOfPortNumbers +gem server registration +register: aName for: aServerClass on: anArrayOfPortNumbersOrResourceNames ^ (self createServerOfClass: aServerClass withName: aName - on: anArrayOfPortNumbers) + on: anArrayOfPortNumbersOrResourceNames) register; yourself \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/class/register.on..st b/repository/GsApplicationTools-Server.package/GemServer.class/class/register.on..st index e6f632c..65434ff 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/class/register.on..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/class/register.on..st @@ -1,3 +1,6 @@ -registration -register: aName on: anArrayOfPortNumbers - ^ self register: aName for: self serverClass on: anArrayOfPortNumbers \ No newline at end of file +gem server registration +register: aName on: anArrayOfPortNumbersOrResourceIds + ^ self + register: aName + for: self serverClass + on: anArrayOfPortNumbersOrResourceIds \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/class/removeGemServer..st b/repository/GsApplicationTools-Server.package/GemServer.class/class/removeGemServer..st new file mode 100644 index 0000000..87ed101 --- /dev/null +++ b/repository/GsApplicationTools-Server.package/GemServer.class/class/removeGemServer..st @@ -0,0 +1,3 @@ +registry accessing +removeGemServer: aServer + ^ GemServerRegistry removeGemServer: aServer \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/class/removeGemServerNamed..st b/repository/GsApplicationTools-Server.package/GemServer.class/class/removeGemServerNamed..st new file mode 100644 index 0000000..58b9b12 --- /dev/null +++ b/repository/GsApplicationTools-Server.package/GemServer.class/class/removeGemServerNamed..st @@ -0,0 +1,3 @@ +registry accessing +removeGemServerNamed: aName + ^ GemServerRegistry removeGemServerNamed: aName \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/defaultPortList.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/defaultPortList.st deleted file mode 100644 index 49b8e91..0000000 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/defaultPortList.st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -defaultPortList - ^ self class defaultPortList \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/defaultPortOrResourceNameList.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/defaultPortOrResourceNameList.st new file mode 100644 index 0000000..9e375e7 --- /dev/null +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/defaultPortOrResourceNameList.st @@ -0,0 +1,3 @@ +accessing +defaultPortOrResourceNameList + ^ self class defaultPortOrResourceNameList \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/executeStartGemCommand..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/executeStartGemCommand..st index cd7cdf3..c10d81f 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/executeStartGemCommand..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/executeStartGemCommand..st @@ -1,6 +1,6 @@ server specialization -executeStartGemCommand: port +executeStartGemCommand: portOrResourceName | commandLine | - commandLine := self startScriptPath , ' ' , self name , ' ' , port asString - , ' "' , self exeConfPath , '"'. + commandLine := self startScriptPath , ' ' , self name , ' ' + , portOrResourceName asString , ' "' , self exeConfPath , '"'. self performOnServer: commandLine \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/executeStopGemCommand..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/executeStopGemCommand..st index f32231c..db81e3a 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/executeStopGemCommand..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/executeStopGemCommand..st @@ -1,6 +1,6 @@ server specialization -executeStopGemCommand: port +executeStopGemCommand: portOrResourceName | commandLine | - commandLine := self stopScriptPath , ' ' , self name , ' ' , port asString - , ' "' , self exeConfPath , '"'. + commandLine := self stopScriptPath , ' ' , self name , ' ' + , portOrResourceName asString , ' "' , self exeConfPath , '"'. self performOnServer: commandLine \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemPidFileName..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemPidFileName..st index bd5ecff..ebaf065 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemPidFileName..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemPidFileName..st @@ -1,6 +1,6 @@ service instance-private -gemPidFileName: port +gemPidFileName: portOrResourceName "must match bin/stopGemServerGem script" ^ (GsFile _expandEnvVariable: 'GEMSTONE_LOGDIR' isClient: false) , '/' - , self name , '_server-' , port asString , '.pid' \ No newline at end of file + , self name , '_server-' , portOrResourceName asString , '.pid' \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemServer.exceptionSet.beforeUnwind.ensure..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemServer.exceptionSet.beforeUnwind.ensure..st index 88ae697..a2ff82f 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemServer.exceptionSet.beforeUnwind.ensure..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemServer.exceptionSet.beforeUnwind.ensure..st @@ -6,7 +6,6 @@ gemServer: aBlock exceptionSet: exceptionSet beforeUnwind: beforeUnwindBlock ens do: [ :ex | | exception | [ - "only returns if an error was logged" exception := ex. self handleGemServerException: ex. beforeUnwindBlock value: exception ] diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemServerHandleErrorException..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemServerHandleErrorException..st index 3f744aa..45e19fb 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemServerHandleErrorException..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemServerHandleErrorException..st @@ -1,9 +1,9 @@ exception dispatching gemServerHandleErrorException: exception - "log the stack trace and unwind stack. Exception is passed (in interactiveMode) AFTER - errorBlock has had a chance to run." + "log the stack trace and unwind stack. + interactiveMode is handled by caller of handleGemServerException: before stack is unwound." self logStack: exception titled: - self name , ' ' , exception class name asString , ' exception encountered: ' \ No newline at end of file + self name , ' ' , exception class name asString , ' exception encountered:' \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemServerHandleNonResumableException..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemServerHandleNonResumableException..st index e4e52bd..d8c2fd9 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemServerHandleNonResumableException..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemServerHandleNonResumableException..st @@ -2,8 +2,8 @@ exception dispatching gemServerHandleNonResumableException: exception "log the stack trace and unwind stack, unless in interactive mode" + self doInteractiveModePass: exception. self logStack: exception titled: - self name , ' ' , exception class name asString , ' exception encountered: '. - self doInteractiveModePass: exception \ No newline at end of file + self name , ' ' , exception class name asString , ' exception encountered:' \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemServerHandleResumableException..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemServerHandleResumableException..st index 7ffb3d8..bf5cb8e 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemServerHandleResumableException..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/gemServerHandleResumableException..st @@ -7,5 +7,5 @@ gemServerHandleResumableException: exception self logStack: exception titled: - self name , ' ' , exception class name asString , ' exception encountered: '. + self name , ' ' , exception class name asString , ' exception encountered:'. exception resume \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/initialize.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/initialize.st index d525b00..c1262e6 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/initialize.st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/initialize.st @@ -2,7 +2,7 @@ initialization initialize super initialize. enableRemoteBreakpoints := true. - ports := self defaultPortList. + portOrResourceNameList := self defaultPortOrResourceNameList. serverInstance := TransientValue value: nil. interactiveMode := false. transactionMode := #'manualBegin'. diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/interactiveStartServiceOn..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/interactiveStartServiceOn..st index d505d65..de133ec 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/interactiveStartServiceOn..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/interactiveStartServiceOn..st @@ -1,5 +1,7 @@ service instance-script -interactiveStartServiceOn: portOrNil +interactiveStartServiceOn: portOrResourceName "called from development environment ... service run in current vm." - self interactiveStartServiceOn: portOrNil transactionMode: #'autoBegin' \ No newline at end of file + self + interactiveStartServiceOn: portOrResourceName + transactionMode: #'autoBegin' \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/interactiveStartServiceOn.transactionMode..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/interactiveStartServiceOn.transactionMode..st index a1c3403..8a5f07c 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/interactiveStartServiceOn.transactionMode..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/interactiveStartServiceOn.transactionMode..st @@ -1,16 +1,16 @@ service instance-script -interactiveStartServiceOn: portOrNil transactionMode: mode +interactiveStartServiceOn: portOrResourceName transactionMode: mode "called from development environment ... service run in current vm." "transactionMode: #autoBegin or #manualBegin" self scriptLogEvent: - '-->>Interactive Start ' , self name , ' on ' , portOrNil printString + '-->>Interactive Start ' , self name , ' on ' , portOrResourceName printString object: self. self transactionMode: mode. mode == #'manualBegin' ifTrue: [ self startTransactionBacklogHandling ]. self enableAlmostOutOfMemoryHandling; - startServerOn: portOrNil "does not return" \ No newline at end of file + startServerOn: portOrResourceName "does not return" \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/portOrResourceNameList..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/portOrResourceNameList..st new file mode 100644 index 0000000..2f9209c --- /dev/null +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/portOrResourceNameList..st @@ -0,0 +1,3 @@ +accessing +portOrResourceNameList: aCollection + portOrResourceNameList := aCollection \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/portOrResourceNameList.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/portOrResourceNameList.st new file mode 100644 index 0000000..721e5a0 --- /dev/null +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/portOrResourceNameList.st @@ -0,0 +1,3 @@ +accessing +portOrResourceNameList + ^ portOrResourceNameList \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/ports..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/ports..st index e9d801b..253d4a0 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/ports..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/ports..st @@ -1,4 +1,5 @@ accessing -ports: aCollection +ports: aCollection + "convenient alias for portOrResourceNameList for gem servers that are port based" - ports := aCollection \ No newline at end of file + portOrResourceNameList := aCollection \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/ports.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/ports.st index e5959b0..151f9b1 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/ports.st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/ports.st @@ -1,3 +1,5 @@ accessing ports - ^ ports \ No newline at end of file + "convenient alias for portOrResourceNameList for gem servers that are port based" + + ^ self portOrResourceNameList \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/register.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/register.st index 97d6162..f6c90af 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/register.st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/register.st @@ -1,3 +1,3 @@ registration register - GemServerRegistry addGemServer: self \ No newline at end of file + self class addGemServer: self \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/scriptStartServiceOn..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/scriptStartServiceOn..st index db03e5e..e46368c 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/scriptStartServiceOn..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/scriptStartServiceOn..st @@ -1,7 +1,7 @@ service instance-script -scriptStartServiceOn: portOrNil +scriptStartServiceOn: portOrResourceName "called from shell script" self - scriptServicePrologOn: portOrNil; - startServerOn: portOrNil "does not return" \ No newline at end of file + scriptServicePrologOn: portOrResourceName; + startServerOn: portOrResourceName "does not return" \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/serverError.titled.inTransactionDo..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/serverError.titled.inTransactionDo..st index bb8eae3..0bf2acd 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/serverError.titled.inTransactionDo..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/serverError.titled.inTransactionDo..st @@ -1,7 +1,7 @@ exception handling serverError: exception titled: title inTransactionDo: inTransactionBlock + self doInteractiveModePass: exception. self logStack: exception - titled: title , ' Server error encountered: ' - inTransactionDo: inTransactionBlock. - self doInteractiveModePass: exception \ No newline at end of file + titled: title , ' Server error encountered:' + inTransactionDo: inTransactionBlock \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/startBasicServerOn..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/startBasicServerOn..st index f058ff1..9abf30a 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/startBasicServerOn..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/startBasicServerOn..st @@ -1,6 +1,6 @@ service instance-server -startBasicServerOn: portOrNil +startBasicServerOn: portOrResourceName "start basic server process in current vm. fork and record forked process instance. expected to return." - self basicServerProcess: [ self basicServerOn: portOrNil ] fork. + self basicServerProcess: [ self basicServerOn: portOrResourceName ] fork. self serverInstance: self "the serverProcess is session-specific" \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/startGems.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/startGems.st index 0a63368..a0c10cb 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/startGems.st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/startGems.st @@ -4,13 +4,14 @@ startGems System commitTransaction ifFalse: [ self error: 'Commit transaction failed before startGems' ]. self logControlEvent: 'Start Gems: ' , self name. - self ports - do: [ :port | + self portOrResourceNameList + do: [ :portOrResourceName | | pidFilePath | - pidFilePath := self gemPidFileName: port. + pidFilePath := self gemPidFileName: portOrResourceName. (GsFile existsOnServer: pidFilePath) ifTrue: [ self error: - 'Pid file exists for port: ' , port printString , '. Try restart command.' ]. - self executeStartGemCommand: port ] \ No newline at end of file + 'Pid file exists for port or resource: ' , portOrResourceName printString + , '. Try restart command.' ]. + self executeStartGemCommand: portOrResourceName ] \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/startServerOn..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/startServerOn..st index 7ce66ab..beda1ca 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/startServerOn..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/startServerOn..st @@ -1,6 +1,6 @@ service instance-server -startServerOn: portOrNil +startServerOn: portOrResourceName "start server in current vm. Not expected to return." - self startBasicServerOn: portOrNil. + self startBasicServerOn: portOrResourceName. [ true ] whileTrue: [ (Delay forSeconds: 10) wait ] \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/statusGems.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/statusGems.st index b7bdcb9..088cadd 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/statusGems.st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/statusGems.st @@ -3,10 +3,10 @@ statusGems | pidList | pidList := ''. self logControlEvent: 'Status Gems: ' , self name. - self ports - do: [ :port | + self portOrResourceNameList + do: [ :portOrResourceName | | pidFilePath file | - pidFilePath := self gemPidFileName: port. + pidFilePath := self gemPidFileName: portOrResourceName. (GsFile openReadOnServer: pidFilePath) ifNotNil: [ :file | pidList := pidList , ' ' , file contents asNumber printString ] ]. ^ self executeStatusGemCommand: pidList \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/stopGems.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/stopGems.st index 8f2eb25..2d8bdb4 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/stopGems.st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/stopGems.st @@ -1,4 +1,5 @@ service instance-control stopGems self logControlEvent: 'Stop Gems: ' , self name. - self ports do: [ :port | self executeStopGemCommand: port ] \ No newline at end of file + self portOrResourceNameList + do: [ :portOrResourceName | self executeStopGemCommand: portOrResourceName ] \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/unregister.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/unregister.st index a73caeb..96b0979 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/unregister.st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/unregister.st @@ -1,3 +1,3 @@ registration unregister - GemServerRegistry removeGemServer: self \ No newline at end of file + self class removeGemServer: self \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/writeGemLogEntryFor.titled..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/writeGemLogEntryFor.titled..st index 2590476..6993d2f 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/writeGemLogEntryFor.titled..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/writeGemLogEntryFor.titled..st @@ -3,7 +3,7 @@ writeGemLogEntryFor: exception titled: title | stream stack | stack := GsProcess stackReportToLevel: self stackReportLimit. stream := WriteStream on: String new. - stream nextPutAll: '----------- ' , title , DateAndTime now printString. + stream nextPutAll: '----------- ' , title , ' ' , DateAndTime now printString. stream lf. stream nextPutAll: exception description. stream lf. diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/methodProperties.json b/repository/GsApplicationTools-Server.package/GemServer.class/methodProperties.json index 82dc76b..f6509cd 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/methodProperties.json +++ b/repository/GsApplicationTools-Server.package/GemServer.class/methodProperties.json @@ -1,11 +1,16 @@ { "class" : { + "addGemServer:" : "dkh 01/06/2015 13:31", "createContinuation:" : "dkh 12/21/2014 13:38", - "createServerOfClass:withName:on:" : "SebastianHeidbrink 11/02/2014 15:00", - "defaultPortList" : "dkh 11/29/2014 06:33", - "register:" : "dkh 11/29/2014 06:33", - "register:for:on:" : "dkh 12/03/2014 10:21", - "register:on:" : "dkh 11/29/2014 06:31", + "createServerOfClass:withName:on:" : "dkh 01/06/2015 15:37", + "defaultPortOrResourceNameList" : "dkh 01/06/2015 15:21", + "gemServerNamed:" : "dkh 01/06/2015 13:29", + "gemServerNames" : "dkh 01/06/2015 13:30", + "register:" : "dkh 01/06/2015 15:23", + "register:for:on:" : "dkh 01/06/2015 15:36", + "register:on:" : "dkh 01/06/2015 15:16", + "removeGemServer:" : "dkh 01/06/2015 13:34", + "removeGemServerNamed:" : "dkh 01/06/2015 13:34", "serverClass" : "dkh 11/29/2014 06:32" }, "instance" : { "activeProcessIsNative" : "dkh 12/09/2014 14:22", @@ -18,7 +23,7 @@ "clearAllBreakpoints:" : "dkh 12/07/2014 18:24", "crashLog" : "dkh 12/25/2014 08:04", "createContinuation:" : "dkh 12/26/2014 08:21", - "defaultPortList" : "dkh 12/10/2014 14:34", + "defaultPortOrResourceNameList" : "dkh 01/06/2015 15:21", "defaultScriptBinDirPath" : "dkh 11/29/2014 20:08", "doAbortTransaction" : "dkh 12/22/2014 11:24", "doBasicTransaction:" : "dkh 12/30/2014 07:19", @@ -32,26 +37,26 @@ "enableRemoteBreakpoints" : "dkh 12/10/2014 17:01", "enableRemoteBreakpoints:" : "dkh 11/26/2014 19:16", "exeConfPath" : "dkh 01/01/2015 16:54", - "executeStartGemCommand:" : "dkh 12/13/2014 17:07", + "executeStartGemCommand:" : "dkh 01/06/2015 15:31", "executeStatusGemCommand:" : "dkh 12/20/2014 21:46", - "executeStopGemCommand:" : "dkh 12/13/2014 17:07", - "gemPidFileName:" : "dkh 12/04/2014 07:43", + "executeStopGemCommand:" : "dkh 01/06/2015 15:30", + "gemPidFileName:" : "dkh 01/06/2015 15:29", "gemServer:" : "dkh 12/30/2014 16:10", "gemServer:beforeUnwind:" : "dkh 12/30/2014 16:11", "gemServer:beforeUnwind:ensure:" : "dkh 12/30/2014 16:11", "gemServer:ensure:" : "dkh 12/30/2014 16:11", "gemServer:exceptionSet:" : "dkh 12/30/2014 16:11", "gemServer:exceptionSet:beforeUnwind:" : "dkh 12/30/2014 16:10", - "gemServer:exceptionSet:beforeUnwind:ensure:" : "dkh 01/03/2015 12:56", + "gemServer:exceptionSet:beforeUnwind:ensure:" : "dkh 01/06/2015 16:27", "gemServer:exceptionSet:ensure:" : "dkh 12/30/2014 16:11", "gemServerExceptionSet" : "dkh 12/28/2014 08:16", "gemServerExceptionSet:" : "dkh 12/28/2014 08:17", "gemServerHandleBreakpointException:" : "dkh 12/24/2014 07:35", - "gemServerHandleErrorException:" : "dkh 12/29/2014 21:36", + "gemServerHandleErrorException:" : "dkh 01/06/2015 16:50", "gemServerHandleHaltException:" : "dkh 12/24/2014 07:39", - "gemServerHandleNonResumableException:" : "dkh 12/31/2014 21:22", + "gemServerHandleNonResumableException:" : "dkh 01/06/2015 16:58", "gemServerHandleNotificationException:" : "dkh 12/24/2014 07:39", - "gemServerHandleResumableException:" : "dkh 12/31/2014 21:23", + "gemServerHandleResumableException:" : "dkh 01/06/2015 16:50", "gemServerTransaction:" : "dkh 12/30/2014 16:12", "gemServerTransaction:beforeUnwind:" : "dkh 12/30/2014 16:12", "gemServerTransaction:beforeUnwind:ensure:" : "dkh 12/30/2014 16:15", @@ -69,11 +74,11 @@ "gemServerTransaction:onConflict:" : "dkh 12/30/2014 16:56", "handleGemServerException:" : "dkh 12/30/2014 13:59", "initCrashLog" : "dkh 12/25/2014 08:06", - "initialize" : "dkh 01/02/2015 17:12", + "initialize" : "dkh 01/06/2015 15:28", "interactiveMode" : "dkh 12/22/2014 12:55", "interactiveMode:" : "dkh 12/22/2014 12:57", - "interactiveStartServiceOn:" : "dkh 12/28/2014 07:41", - "interactiveStartServiceOn:transactionMode:" : "dkh 01/03/2015 22:11", + "interactiveStartServiceOn:" : "dkh 01/06/2015 15:51", + "interactiveStartServiceOn:transactionMode:" : "dkh 01/06/2015 15:50", "isRunning" : "SebastianHeidbrink 11/02/2014 15:00", "isValidName:" : "dkh 11/26/2014 18:31", "logControlEvent:" : "dkh 12/30/2014 07:24", @@ -84,40 +89,42 @@ "name" : "SebastianHeidbrink 11/02/2014 15:00", "name:" : "dkh 11/26/2014 18:09", "performOnServer:" : "dkh 01/01/2015 17:17", - "ports" : "dkh 12/10/2014 17:02", - "ports:" : "SebastianHeidbrink 11/02/2014 15:00", + "portOrResourceNameList" : "dkh 01/06/2015 15:28", + "portOrResourceNameList:" : "dkh 01/06/2015 15:28", + "ports" : "dkh 01/07/2015 10:02", + "ports:" : "dkh 01/07/2015 10:02", "recordGemPid:" : "dkh 12/04/2014 06:56", - "register" : "dkh 12/03/2014 10:21", + "register" : "dkh 01/06/2015 13:39", "restartGems" : "dkh 12/06/2014 13:04", "saveContinuationFor:titled:inTransactionDo:" : "dkh 12/30/2014 07:25", "scriptBinDirPath" : "dkh 11/29/2014 09:44", "scriptLogEvent:object:" : "dkh 12/30/2014 07:25", "scriptServicePrologOn:" : "dkh 01/03/2015 22:10", - "scriptStartServiceOn:" : "dkh 01/03/2015 15:51", + "scriptStartServiceOn:" : "dkh 01/06/2015 15:50", "serverClass" : "dkh 11/29/2014 14:08", "serverClass:" : "dkh 11/29/2014 14:08", "serverClassAssoc" : "dkh 12/22/2014 11:28", "serverClassAssoc:" : "dkh 12/22/2014 11:28", "serverError:titled:" : "dkh 12/23/2014 10:59", - "serverError:titled:inTransactionDo:" : "dkh 12/31/2014 21:23", + "serverError:titled:inTransactionDo:" : "dkh 01/06/2015 16:58", "serverInstance" : "dkh 12/10/2014 14:48", "serverInstance:" : "dkh 01/02/2015 17:24", "setOrClearBreakpoint:" : "dkh 12/07/2014 18:24", "setStatmonCacheName" : "dkh 11/30/2014 08:45", "stackReportLimit" : "dkh 12/30/2014 06:46", - "startBasicServerOn:" : "dkh 01/03/2015 15:53", - "startGems" : "dkh 12/25/2014 08:06", + "startBasicServerOn:" : "dkh 01/06/2015 15:53", + "startGems" : "dkh 01/06/2015 15:29", "startScriptName" : "dkh 12/04/2014 08:02", "startScriptPath" : "dkh 12/04/2014 08:02", - "startServerOn:" : "dkh 01/03/2015 15:53", + "startServerOn:" : "dkh 01/06/2015 15:49", "startTransactionBacklogHandling" : "dkh 01/03/2015 22:11", - "statusGems" : "dkh 12/13/2014 17:19", - "stopGems" : "dkh 11/30/2014 08:33", + "statusGems" : "dkh 01/06/2015 15:30", + "stopGems" : "dkh 01/06/2015 15:30", "stopScriptName" : "dkh 12/04/2014 08:03", "stopScriptPath" : "dkh 12/04/2014 08:03", "transactionMode" : "dkh 12/22/2014 12:57", "transactionMode:" : "dkh 12/30/2014 07:25", "transactionMutex" : "dkh 12/22/2014 14:48", - "unregister" : "dkh 12/03/2014 10:22", + "unregister" : "dkh 01/06/2015 13:39", "validateName:" : "dkh 11/26/2014 18:29", - "writeGemLogEntryFor:titled:" : "dkh 12/30/2014 06:52" } } + "writeGemLogEntryFor:titled:" : "dkh 01/06/2015 16:49" } } diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/properties.json b/repository/GsApplicationTools-Server.package/GemServer.class/properties.json index 78d57d8..49f20ad 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/properties.json +++ b/repository/GsApplicationTools-Server.package/GemServer.class/properties.json @@ -10,6 +10,7 @@ "serverClassAssoc", "serverInstance", "ports", + "portOrResourceNameList", "enableRemoteBreakpoints", "transactionMode", "interactiveMode", diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/removeGemServer..st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/removeGemServer..st index dc5d3f7..530690e 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/removeGemServer..st +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/removeGemServer..st @@ -1,3 +1,3 @@ registration -removeGemServer: aServerGem - self singleton removeServer: aServerGem name \ No newline at end of file +removeGemServer: aServer + self singleton removeServer: aServer name \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/portOrResourceNameList.st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/portOrResourceNameList.st new file mode 100644 index 0000000..772ffcf --- /dev/null +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/portOrResourceNameList.st @@ -0,0 +1,7 @@ +other +portOrResourceNameList + | portOrResourceNameList | + portOrResourceNameList := Set new. + self servers + do: [ :each | portOrResourceNameList addAll: each portOrResourceNameList ]. + ^ portOrResourceNameList \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/ports.st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/ports.st index 1d4dbd7..4748276 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/ports.st +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/ports.st @@ -1,6 +1,3 @@ other ports - | ports | - ports := Set new. - self servers do: [ :each | ports addAll: each ports ]. - ^ ports \ No newline at end of file + ^ self portOrResourceNameList \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serversOnPort..st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serversOnPort..st index 28bc001..5b4e9f7 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serversOnPort..st +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serversOnPort..st @@ -1,3 +1,5 @@ other serversOnPort: aPort - ^servers detect: [:each | each ports includes: aPort] ifNone:[nil] \ No newline at end of file + ^ servers + detect: [ :each | each portOrResourceNameList includes: aPort ] + ifNone: [ nil ] \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/methodProperties.json b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/methodProperties.json index 771daad..b6ca3a7 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/methodProperties.json +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/methodProperties.json @@ -6,7 +6,7 @@ "gemServerNames" : "SebastianHeidbrink 11/02/2014 14:41", "initSingleton" : "dkh 11/26/2014 14:46", "new" : "SebastianHeidbrink 10/21/2014 04:22", - "removeGemServer:" : "dkh 11/26/2014 22:01", + "removeGemServer:" : "dkh 01/06/2015 13:33", "removeGemServerNamed:" : "SebastianHeidbrink 11/03/2014 14:40", "restartAllGems" : "dkh 11/26/2014 19:45", "restartGemsNamed:" : "dkh 11/26/2014 19:45", @@ -21,10 +21,11 @@ "addServer:" : "SebastianHeidbrink 10/21/2014 04:22", "initialize" : "dkh 11/26/2014 14:08", "names" : "SebastianHeidbrink 10/21/2014 04:22", - "ports" : "dkh 11/26/2014 14:09", + "portOrResourceNameList" : "dkh 01/06/2015 15:32", + "ports" : "dkh 01/06/2015 15:35", "removeServer:" : "SebastianHeidbrink 10/21/2014 04:22", "serverClasses" : "SebastianHeidbrink 10/21/2014 04:22", "serverNamed:" : "SebastianHeidbrink 10/21/2014 04:22", "servers" : "SebastianHeidbrink 10/21/2014 04:22", "serversOfClass:" : "SebastianHeidbrink 10/21/2014 04:22", - "serversOnPort:" : "SebastianHeidbrink 10/21/2014 04:22" } } + "serversOnPort:" : "dkh 01/06/2015 15:33" } } diff --git a/repository/GsApplicationTools-Server.package/monticello.meta/version b/repository/GsApplicationTools-Server.package/monticello.meta/version index cc2e29c..7ddb918 100644 --- a/repository/GsApplicationTools-Server.package/monticello.meta/version +++ b/repository/GsApplicationTools-Server.package/monticello.meta/version @@ -1 +1 @@ -(name 'GsApplicationTools-Server-dkh.71' message 'Issue #10: rename GemServer>>startSigAbortHandling to GemServer>>startTransactionBacklogHandling ... write to gem log first, then create continuation in GemServer>>logStack:titled:inTransactionDo: ' id '0ec21772-5f63-409b-b2b8-8984ec643b76' date '01/04/2015' time '00:06:23' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.70' message 'Issue #10: a bit more streamlining of the gemserver api' id '26bf99a9-3b4e-4633-a27c-17e64adb22f7' date '01/03/2015' time '20:20:02' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.69' message 'Issue #10: tweak stack unwind logic in GemServer>>gemServer:exceptionSet:beforeUnwind:ensure: ... use explicit `return:` instead of falling off end of exception handling block' id 'b3ba26be-2687-4e00-8e6a-ce2f517996a7' date '01/03/2015' time '12:58:39' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.68' message 'Issue #10: convert startBasicServerOn: to basicServerOn: ... basicServerOn: is now the method that should be subclassed' id '91969751-4247-480f-86c0-98676c6a095b' date '01/02/2015' time '17:54:02' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.67' message 'Issue #10: move basicServerProcess up to GemServer ...' id '9bffb268-d7e4-4e0e-a84a-b5eb6cf03998' date '01/02/2015' time '17:38:02' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.66' message 'Issue #10: default gem.conf file added ... use the default gem.conf for GemServerRemoteServerExample-based tests ... improve GemServer>>performOnServer: error message ... address the AlmostOutOfMemoory issue (for good?) apparently AlmostOutOfMemoory wasn''t getting re-enabled ' id '7df44e59-4dac-4020-baf6-9734bdd4fe9f' date '01/01/2015' time '18:14:01' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.65' message 'Issue #10: perhaps the granlarity of growth is the root cause .. looks like the vm is running out of memory in the process of handling the signal ... we''re creating a continuation ... a smaller increment means that we won''t be overrunning the limit by quite as much' id '778f751d-abd4-4297-adb4-b2574d2d4f25' date '01/01/2015' time '13:24:59' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.64' message 'Issue #10: implement (and use) GemServer>>doInteractiveModePass:' id '56b22587-b43c-4106-aafe-07ba9a4395e5' date '12/31/2014' time '21:23:50' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.63' message 'Issue #10: address GemServerRemoteServerParallelProcessingExampleTests>>#testInternalServerError failure ... tweak GemServerRemoteTaskExample class>>reset to avoid potential commit conflicts' id '1cb8556c-3b1f-4a62-b0ed-4887219e7e10' date '12/31/2014' time '21:16:21' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.62' message 'Issue #10: remove GemServerRemoteServerSerialProcessingExample>>startBasicServerOn: ... bad boy ... don''t automatically go into interactiveMode when running GemServer>>interactiveStartServiceOn:transactionMode: ... interactiveMode setting for server should be independently controlled, since it is convenient to use interactiveStart... to run tests without debugging exceptions ... to verify that bug is really fixed ... fix logic in GemServer>>doTransaction:onConflict:' id '473fd4c5-0a0b-4141-8322-adac4d74ac3b' date '12/31/2014' time '12:24:39' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.61' message 'Issue #10: more refactoring in face of building a sensible seaside gemserver stack' id 'da3b879d-e658-4d95-aac1-196271fac284' date '12/30/2014' time '17:18:53' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.60' message 'Issue #10: rename gemServer:* selectors to use beforeUnwind: instead of onError:' id 'e5deddb7-75be-4aa3-9266-236578df6ffd' date '12/30/2014' time '12:27:10' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.59' message 'Issue #10: tweak GemServer>>doTransaction:' id '358b7e45-5f77-42e9-ac0a-46a11b7f5368' date '12/30/2014' time '07:45:00' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.58' message 'Issue #10: implement GemServer>>doBasicTransaction:, GemServer>>doTransaction:, and GemServer>>doTransaction:onConflict: to replace GemServer>>doSimpleTransaction: and GemServer>>doComplexTransaction:onConflict: ... ongoing docs work' id '67f16c1a-1a4c-4260-9d41-ca661e4229de' date '12/30/2014' time '07:34:40' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.57' message 'Issue #10: exception pass does not belong in gemServerHandleErrorException: ... changed comment so the same mistake won''t be made again...' id 'dc5c8c41-4d16-42e6-b972-0a0c87e5c848' date '12/29/2014' time '21:38:19' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.56' message 'Issue #10: restore the exception pass for gemServerHandleErrorException: ... comment fiddling' id 'cc646ef5-d24c-4364-844a-7d151cf743b1' date '12/29/2014' time '18:03:59' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.55' message 'Issue #10: pull gemServerExceptionSet iv up to GemServer ... interactive tests needs to be able to customize the exception set used and it stands to reason that developers will as well ...' id 'ffbcc6d8-d6f8-4365-aa1e-e2e931e0a754' date '12/28/2014' time '08:38:51' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.54' message 'Issue #10: implement GemServer>>interactiveStartServiceOn:' id '482bdc62-5c86-4603-b33b-78a28e7c7314' date '12/28/2014' time '07:42:55' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.53' message 'Issue #10: straighten out interactiveMode operation with respect to exception passing .... fix handling of AlmostOutOfMemory exception with temp stack references in GemServerRemoteServerExample' id '41d9fd46-48c7-4531-9532-d7f5cdbdc1e4' date '12/28/2014' time '07:13:47' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.52' message 'Issue #10: move AlmostOutOtMemory, AlmostOutOfStack, and Break exception dispatching to v30 package' id '2d9d69d6-f3c7-4a6b-9ae8-23b025452ca8' date '12/26/2014' time '13:22:39' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.51' message 'Issue #10: add GemServer>>enableCreateContinuations and disable continuations for all GemServerRemoteServerExampleTests ... run baseline tests ' id '2f7e6ced-31b8-4f17-b0fd-a17d392a24c3' date '12/26/2014' time '08:31:00' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.50' message 'Issue #10: wrap proc with TransientStackValue and enable continuations again ...' id 'ab406ae1-9b32-4bfc-9514-1471deaf5b0c' date '12/26/2014' time '07:53:44' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.49' message 'Issue #10: turn off continuations' id '85ac4544-66d0-4315-af22-b4eacdef42d7' date '12/25/2014' time '21:58:40' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.48' message 'Issue #10: Delay and persistent blocks do not mix' id '95da3073-d3ae-4470-bcc2-c14f602be746' date '12/25/2014' time '15:04:48' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.47' message 'Issue #10: add crashLog to GemServer ... clients can recognize that a gem has crashed and take action...' id '2b3b92a6-cde0-4c9a-8398-412a1c08bcab' date '12/25/2014' time '08:25:23' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.46' message 'Issue #10: disable continuation creation until I find the reference to delay from continuation .... an abort is causing the process to forget the waiters ... bug will be finxed in 23.2.4? ... causing failure in GemServerRemoteServerExampleTests>>test100Tasks' id '149c80db-7920-43f1-ac02-c86cc1253fff' date '12/24/2014' time '23:05:32' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.45' message 'Issue #10: use double dispatching for cutomization of exception handling: exception implements exceptionHandlingForGemServer: to route appropriate message to server. Add AlmostOutOfMemory and AlmostOutOfStack support to GemServer ... add GemServerRemoteServerExampleTests tests for internal server errors, Warning, AlmostOutOfMemory and AlmostOutOfStack' id '9f23e4d9-413d-4934-95c5-f6221e5c5866' date '12/24/2014' time '13:37:20' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.44' message 'Issue #10: expand gemserver api a bit more ... add simple test for GemServerRemoteServerExample and it is passing' id 'a17abea7-f2c8-4b57-a064-ca89c08f8ffc' date '12/23/2014' time '14:01:04' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.43' message 'Issue #10: beef up GemServer>>doComplexTransaction: to include an onCoflictBlock ... GemServer>>doComplexTransaction:onConflict: conflict handling is WHY you use doComplexTransaction:. Allow for exceptionSet customization in gemServer:... gemServerTransaction:... calls and of course add onConflict customization to gemServerTransaction:... calls...GemServerTestServer>>startBasicServerOn: now uses both flavors of gemServer api calls: gemServer:... and gemServerTransaction:...' id '6d46b8e7-a406-4aa4-9e8f-61639f0f5a42' date '12/23/2014' time '12:32:01' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.42' message 'Issue #10: add GemServer>>gemServer: and GemServer>>gemServer:onError: as non-transactional veriants for handling server errors, breakpoints and halts (should satisfy Issue #12)...refactor GemServer>>gemServerTransaction:onError: to use GemServer>>gemServer:onError: ... add GemServer>>handleGemServerException: to isolate server error and interactiveMoe logic ... GemServer>>serverError:titled:inTransactionDo: allows for performing optional work in the same transaction as the continuation ... if one is already in transaction a commit is expected to come from the caller ... started work on an example server as the GemServerTestServer has been sacrificed to being able to test various error conditions and is no longer a clean example ...' id '83ec8997-c97d-4b4d-b54c-be97ed04eb33' date '12/23/2014' time '11:19:30' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.41' message 'Issue #10: add GemServerInteractiveVMTests to test interactiveMode of GemServer, i.e., in interactiveMode exceptions are handled, logged then passed so that developer can bring up a debugger in a development environment ... for those cases when server-side code is being written ...' id 'af09c85e-85f0-48d4-a834-29e141d689f5' date '12/22/2014' time '17:14:06' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.40' message 'Issue #10: internal server error handling ... expanded local and remote tests for internal server errors ... interactiveMode added so that exceptions are passed so that debugger can be used ' id 'a16f7bf3-5f2c-4804-863f-66f7f14b5c55' date '12/22/2014' time '14:01:48' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.39' message 'Issue #10: gearing up to work through interactive debugging transaction support' id '5b23d0e9-fb0c-4f8d-be85-6710410e48f4' date '12/22/2014' time '11:49:18' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.38' message 'Issue #10: fix a GemStone 2.4.x portability problem' id '19fa2ad7-e6cb-4481-98a5-e637b49e49ab' date '12/21/2014' time '19:26:04' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.37' message 'Issue #10: implement GemServerTestServer for running GemServerRemoteVMTests tests .... added several more tests and fixed some bugs in GemServer class>>gemServerTransaction:onError: and friends' id '8afc1307-7b63-4496-95cb-b0cda90083a5' date '12/21/2014' time '19:15:34' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.36' message 'Issue #10: bulding supporting methods for top-level application error handling and error logging ... server errors will be dealt with using separate (to be written) logic (checkpoint)' id 'a160a736-7277-462f-b478-e4b6eb81093a' date '12/21/2014' time '14:19:52' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.35' message 'define GemServer>>performOnServer:status: so that statusGems won''t error out if a gem doesn''t happen to be running ...' id 'ac15b558-6bcf-4248-abcf-940732736797' date '12/20/2014' time '21:47:41' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.34' message 'implement GemServer>>handleBreakpointException: ' id '09b5af03-82fd-4edd-a796-5a48f6aacde9' date '12/16/2014' time '07:13:11' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.33' message 'working on GsDevKit/Seaside31#59 and noticed that the output fro ps was clipped ... losing just the information that I might want to really see from the status command' id '1247e850-48da-42fd-a1af-be9f072486fc' date '12/15/2014' time '15:46:15' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.32' message 'add statusGems command for GemServer ... returns `ps` for processes associated with the ports' id 'cfdb9768-3b02-44c2-b4bd-c15c4254be56' date '12/13/2014' time '17:28:11' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.31' message 'ServiceVmGemServer moved to GsDevKit/ServiceVM project (https://github.com/GsDevKit/ServiceVM/issues/5)' id '339732d4-6e87-4854-9a64-0a8cc40c8501' date '12/13/2014' time '15:58:24' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.30' message 'Move MaintenanceVmGemServer to Seaside project' id '490a16f5-3868-450b-a8ef-3a346cbb9a00' date '12/12/2014' time '09:52:01' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.29' message 'lazy initialization is not good for the GemServer instances, since multiple gems could be spawned from the same GemServer instance which leads to commit conflicts ... ' id '851fbcd5-458d-47ff-8710-0795e6f344f5' date '12/10/2014' time '17:38:02' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.28' message 'pull up some behavior/state from ZnGemServer as I contemplate implementation of SeasideGemServer family (which is being moved to Seaside31 project)' id 'e20c5d30-c795-4514-9cca-c6333a97c614' date '12/10/2014' time '15:18:47' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.27' message 'portString no longer used' id 'b82c1aa0-5110-40a5-bc9b-757d225c9e31' date '12/10/2014' time '11:00:17' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.26' message 'More porting to 2.4.x ... add GemServerLauncherTests for simple test coverage, tODE should be used for the actual breakpoint and object log tests ' id '7ce13042-cf46-46f9-b3f2-26f4ddff24b8' date '12/09/2014' time '16:48:45' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.25' message 'Porting recent GemserverLauncher and friends work to 2.4' id '744c20b4-e439-46e7-b9c5-1e56e287167e' date '12/09/2014' time '14:15:39' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.24' message 'improve logging and make GemServer transaction safe by using TransientSemaphores' id '2d65afde-00f0-44d3-bfee-c707bebce03a' date '12/09/2014' time '09:57:23' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.23' message 'infrastructure changes to make it possible for a server to switch between native and portable code in support of remote breakpoints ...' id '75ba2020-977c-445c-81a1-3c59a6e5527d' date '12/07/2014' time '18:37:17' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.22' message 'Finish up with the remote breakpoint work ... won''t be able to enable this capability until 3.3 at the soonest ...' id '87bb2e41-1e71-4c39-891a-e472cefc1993' date '12/06/2014' time '14:57:45' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.21' message 'GemServer class>>handleBreakpointException: moved to ZnGemServerLogSupport' id 'a2c9d9a8-d677-409f-8c23-b23bdf34907c' date '12/05/2014' time '14:59:46' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.20' message 'use script for both start and stop ... pid files go into GEMSTONE_LOGDIR' id '6acecf92-5b4d-4ba8-9fd8-40d96a238c44' date '12/04/2014' time '08:09:49' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.19' message 'GemServer class>>handleBreakpointException: can be in common class' id 'dd67e194-1598-42b4-864f-a6532878f183' date '12/03/2014' time '16:24:21' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.18' message 'add GemServer register/unregister methods' id '852a3a6e-738a-4e0c-9647-7ccfe77b949c' date '12/03/2014' time '12:28:38' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.17' message 'remove some extraneous logging .. improve start server label' id '926e5364-3af4-463f-a47a-ec4f64066da8' date '11/30/2014' time '11:52:31' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.16' message 'add strategic object logging to aid in debugging GemServer processing' id 'acf24638-1085-4742-a68e-36c4b8724f16' date '11/30/2014' time '09:21:29' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.15' message 'Issue #2: change GemServer>>defaultScriptBinDirPath to directly access GemServer class, so that subclasses in different projects can still find the script' id '6043a78a-19aa-4760-9367-c4f8b70a5e82' date '11/29/2014' time '20:10:03' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.14' message 'Issue #2: GemServer>>enableRemoteBreakpointHandling is platform-specific as well' id '8e013040-0af2-4b22-bf00-76fa155060d3' date '11/29/2014' time '19:39:46' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.13' message 'Issue #2: split out GemServer>>performOnServer: into separate 2.4 and 3.x packages ... add new packages and update baseline' id '1270825e-9e4b-480c-95ba-89af92443ce6' date '11/29/2014' time '19:14:19' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.12' message 'Issue #2: adjustments for testing' id '0c523ab6-f8f4-4517-b8c4-8c47e683f48c' date '11/29/2014' time '14:48:13' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.11' message 'Issue #2: start/stop/restart appears to be working but I don''t like the level of feedback ... need status command that looks at pid and verifies that pid is there and perhaps some other status information...' id 'ed1d63d6-d88b-4ec0-8690-91cf0dc122ba' date '11/29/2014' time '14:24:04' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.10' message 'issue #2: [ci skip] checkpoint .. preparing for first script tests' id '2cd572d2-e096-4d29-a44d-2b9611c1c651' date '11/29/2014' time '11:42:19' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.9' message 'Issue #2: get ready to run scripts ... add test' id '69489d7e-d2e5-45fb-807b-dc0ebf625cbd' date '11/29/2014' time '09:49:21' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.8' message 'Issue #2: continue move towards GemServer centric design ... with GemServer class>>register:for:on: as the center piece' id '6fb8ce02-0f34-48a1-88f8-13518a567990' date '11/29/2014' time '09:07:49' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.7' message 'Issue #2: get tests passing?' id '7a39f9cf-f346-443b-85bb-df06c8999146' date '11/26/2014' time '22:02:56' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.6' message 'Issue #2: get rid of GemServer portInstance variable ... not really necessary' id '33b9790d-0fe6-448d-b307-2849898f89dc' date '11/26/2014' time '20:12:20' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.5' message 'Issue #2: remove the GemServerStarter classes .... refactor start logic to send startGems, restartGems and stopGems directory to the GemServer instance ... return GemServer instance when created, so that inline start and stop logic can be done without requiring lookup...' id 'd5daf1e3-d581-4a5c-8279-ecc26e65482f' date '11/26/2014' time '20:00:55' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.3' message 'Issue #2: incorporated the "server boilerplate" Smalltalk code from startSeaside30_Adaptor ... push a bunch of stuff around ...' id 'fbb1b950-b097-46da-bff4-c30718ff0445' date '11/26/2014' time '19:29:18' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.2' message 'Issue #2: Taking approach where instead of subclassing GemServerStarter, subclass GemServer ... then we can do direct customization of the various bits and pieces that need customization on run ... and pass any interesting state via the script call ... script location etc. can be specified by the subclass ... Added tests for validating the basic api' id '17c9ab9b-23fe-4849-9e8b-ecfed9e3eb62' date '11/26/2014' time '17:01:21' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.1' message 'Issue #2: rename Application-Server-Tools to GsApplicationTools-Server ... also doing a bit of restructuring' id '0b8a0237-7f35-46cc-978b-3cfa12e1b55b' date '11/26/2014' time '14:27:25' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'GsApplicationTools-Server-dkh.76' message 'add back in GemServer>>ports and GemServer>>ports:, since for gem servers that _do_ work with ports, this is the natural method to use ...' id '0e847e91-ae46-49f1-ad27-2a5911c981c0' date '01/07/2015' time '11:41:40' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.75' message 'Issue #58: checkpoint while working through @rjsargent (very thorough) document review' id 'a57d4750-da0d-4b57-8308-fa436a1a55d4' date '01/06/2015' time '17:07:32' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.74' message 'more work on replace use of ports with portOrResourceNameList' id 'f7a71ead-40e1-427e-931d-c37f2cd8f162' date '01/06/2015' time '16:18:11' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.73' message 'replace use of ports with portOrResourceNameList, since some gem servers are not port-based ... yet we need a unique id to identify the gem server instances ..' id '274fc069-2cfd-4e7f-ab58-886387389871' date '01/06/2015' time '15:39:57' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.72' message 'Make GemServerRegistry a second class object by moving interesting protocol to GemServer' id 'eecf6463-2e1f-411c-a296-c4f25f4bebc7' date '01/06/2015' time '13:45:20' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.71' message 'Issue #10: rename GemServer>>startSigAbortHandling to GemServer>>startTransactionBacklogHandling ... write to gem log first, then create continuation in GemServer>>logStack:titled:inTransactionDo: ' id '0ec21772-5f63-409b-b2b8-8984ec643b76' date '01/04/2015' time '00:06:23' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.70' message 'Issue #10: a bit more streamlining of the gemserver api' id '26bf99a9-3b4e-4633-a27c-17e64adb22f7' date '01/03/2015' time '20:20:02' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.69' message 'Issue #10: tweak stack unwind logic in GemServer>>gemServer:exceptionSet:beforeUnwind:ensure: ... use explicit `return:` instead of falling off end of exception handling block' id 'b3ba26be-2687-4e00-8e6a-ce2f517996a7' date '01/03/2015' time '12:58:39' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.68' message 'Issue #10: convert startBasicServerOn: to basicServerOn: ... basicServerOn: is now the method that should be subclassed' id '91969751-4247-480f-86c0-98676c6a095b' date '01/02/2015' time '17:54:02' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.67' message 'Issue #10: move basicServerProcess up to GemServer ...' id '9bffb268-d7e4-4e0e-a84a-b5eb6cf03998' date '01/02/2015' time '17:38:02' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.66' message 'Issue #10: default gem.conf file added ... use the default gem.conf for GemServerRemoteServerExample-based tests ... improve GemServer>>performOnServer: error message ... address the AlmostOutOfMemoory issue (for good?) apparently AlmostOutOfMemoory wasn''t getting re-enabled ' id '7df44e59-4dac-4020-baf6-9734bdd4fe9f' date '01/01/2015' time '18:14:01' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.65' message 'Issue #10: perhaps the granlarity of growth is the root cause .. looks like the vm is running out of memory in the process of handling the signal ... we''re creating a continuation ... a smaller increment means that we won''t be overrunning the limit by quite as much' id '778f751d-abd4-4297-adb4-b2574d2d4f25' date '01/01/2015' time '13:24:59' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.64' message 'Issue #10: implement (and use) GemServer>>doInteractiveModePass:' id '56b22587-b43c-4106-aafe-07ba9a4395e5' date '12/31/2014' time '21:23:50' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.63' message 'Issue #10: address GemServerRemoteServerParallelProcessingExampleTests>>#testInternalServerError failure ... tweak GemServerRemoteTaskExample class>>reset to avoid potential commit conflicts' id '1cb8556c-3b1f-4a62-b0ed-4887219e7e10' date '12/31/2014' time '21:16:21' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.62' message 'Issue #10: remove GemServerRemoteServerSerialProcessingExample>>startBasicServerOn: ... bad boy ... don''t automatically go into interactiveMode when running GemServer>>interactiveStartServiceOn:transactionMode: ... interactiveMode setting for server should be independently controlled, since it is convenient to use interactiveStart... to run tests without debugging exceptions ... to verify that bug is really fixed ... fix logic in GemServer>>doTransaction:onConflict:' id '473fd4c5-0a0b-4141-8322-adac4d74ac3b' date '12/31/2014' time '12:24:39' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.61' message 'Issue #10: more refactoring in face of building a sensible seaside gemserver stack' id 'da3b879d-e658-4d95-aac1-196271fac284' date '12/30/2014' time '17:18:53' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.60' message 'Issue #10: rename gemServer:* selectors to use beforeUnwind: instead of onError:' id 'e5deddb7-75be-4aa3-9266-236578df6ffd' date '12/30/2014' time '12:27:10' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.59' message 'Issue #10: tweak GemServer>>doTransaction:' id '358b7e45-5f77-42e9-ac0a-46a11b7f5368' date '12/30/2014' time '07:45:00' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.58' message 'Issue #10: implement GemServer>>doBasicTransaction:, GemServer>>doTransaction:, and GemServer>>doTransaction:onConflict: to replace GemServer>>doSimpleTransaction: and GemServer>>doComplexTransaction:onConflict: ... ongoing docs work' id '67f16c1a-1a4c-4260-9d41-ca661e4229de' date '12/30/2014' time '07:34:40' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.57' message 'Issue #10: exception pass does not belong in gemServerHandleErrorException: ... changed comment so the same mistake won''t be made again...' id 'dc5c8c41-4d16-42e6-b972-0a0c87e5c848' date '12/29/2014' time '21:38:19' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.56' message 'Issue #10: restore the exception pass for gemServerHandleErrorException: ... comment fiddling' id 'cc646ef5-d24c-4364-844a-7d151cf743b1' date '12/29/2014' time '18:03:59' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.55' message 'Issue #10: pull gemServerExceptionSet iv up to GemServer ... interactive tests needs to be able to customize the exception set used and it stands to reason that developers will as well ...' id 'ffbcc6d8-d6f8-4365-aa1e-e2e931e0a754' date '12/28/2014' time '08:38:51' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.54' message 'Issue #10: implement GemServer>>interactiveStartServiceOn:' id '482bdc62-5c86-4603-b33b-78a28e7c7314' date '12/28/2014' time '07:42:55' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.53' message 'Issue #10: straighten out interactiveMode operation with respect to exception passing .... fix handling of AlmostOutOfMemory exception with temp stack references in GemServerRemoteServerExample' id '41d9fd46-48c7-4531-9532-d7f5cdbdc1e4' date '12/28/2014' time '07:13:47' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.52' message 'Issue #10: move AlmostOutOtMemory, AlmostOutOfStack, and Break exception dispatching to v30 package' id '2d9d69d6-f3c7-4a6b-9ae8-23b025452ca8' date '12/26/2014' time '13:22:39' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.51' message 'Issue #10: add GemServer>>enableCreateContinuations and disable continuations for all GemServerRemoteServerExampleTests ... run baseline tests ' id '2f7e6ced-31b8-4f17-b0fd-a17d392a24c3' date '12/26/2014' time '08:31:00' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.50' message 'Issue #10: wrap proc with TransientStackValue and enable continuations again ...' id 'ab406ae1-9b32-4bfc-9514-1471deaf5b0c' date '12/26/2014' time '07:53:44' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.49' message 'Issue #10: turn off continuations' id '85ac4544-66d0-4315-af22-b4eacdef42d7' date '12/25/2014' time '21:58:40' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.48' message 'Issue #10: Delay and persistent blocks do not mix' id '95da3073-d3ae-4470-bcc2-c14f602be746' date '12/25/2014' time '15:04:48' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.47' message 'Issue #10: add crashLog to GemServer ... clients can recognize that a gem has crashed and take action...' id '2b3b92a6-cde0-4c9a-8398-412a1c08bcab' date '12/25/2014' time '08:25:23' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.46' message 'Issue #10: disable continuation creation until I find the reference to delay from continuation .... an abort is causing the process to forget the waiters ... bug will be finxed in 23.2.4? ... causing failure in GemServerRemoteServerExampleTests>>test100Tasks' id '149c80db-7920-43f1-ac02-c86cc1253fff' date '12/24/2014' time '23:05:32' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.45' message 'Issue #10: use double dispatching for cutomization of exception handling: exception implements exceptionHandlingForGemServer: to route appropriate message to server. Add AlmostOutOfMemory and AlmostOutOfStack support to GemServer ... add GemServerRemoteServerExampleTests tests for internal server errors, Warning, AlmostOutOfMemory and AlmostOutOfStack' id '9f23e4d9-413d-4934-95c5-f6221e5c5866' date '12/24/2014' time '13:37:20' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.44' message 'Issue #10: expand gemserver api a bit more ... add simple test for GemServerRemoteServerExample and it is passing' id 'a17abea7-f2c8-4b57-a064-ca89c08f8ffc' date '12/23/2014' time '14:01:04' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.43' message 'Issue #10: beef up GemServer>>doComplexTransaction: to include an onCoflictBlock ... GemServer>>doComplexTransaction:onConflict: conflict handling is WHY you use doComplexTransaction:. Allow for exceptionSet customization in gemServer:... gemServerTransaction:... calls and of course add onConflict customization to gemServerTransaction:... calls...GemServerTestServer>>startBasicServerOn: now uses both flavors of gemServer api calls: gemServer:... and gemServerTransaction:...' id '6d46b8e7-a406-4aa4-9e8f-61639f0f5a42' date '12/23/2014' time '12:32:01' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.42' message 'Issue #10: add GemServer>>gemServer: and GemServer>>gemServer:onError: as non-transactional veriants for handling server errors, breakpoints and halts (should satisfy Issue #12)...refactor GemServer>>gemServerTransaction:onError: to use GemServer>>gemServer:onError: ... add GemServer>>handleGemServerException: to isolate server error and interactiveMoe logic ... GemServer>>serverError:titled:inTransactionDo: allows for performing optional work in the same transaction as the continuation ... if one is already in transaction a commit is expected to come from the caller ... started work on an example server as the GemServerTestServer has been sacrificed to being able to test various error conditions and is no longer a clean example ...' id '83ec8997-c97d-4b4d-b54c-be97ed04eb33' date '12/23/2014' time '11:19:30' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.41' message 'Issue #10: add GemServerInteractiveVMTests to test interactiveMode of GemServer, i.e., in interactiveMode exceptions are handled, logged then passed so that developer can bring up a debugger in a development environment ... for those cases when server-side code is being written ...' id 'af09c85e-85f0-48d4-a834-29e141d689f5' date '12/22/2014' time '17:14:06' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.40' message 'Issue #10: internal server error handling ... expanded local and remote tests for internal server errors ... interactiveMode added so that exceptions are passed so that debugger can be used ' id 'a16f7bf3-5f2c-4804-863f-66f7f14b5c55' date '12/22/2014' time '14:01:48' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.39' message 'Issue #10: gearing up to work through interactive debugging transaction support' id '5b23d0e9-fb0c-4f8d-be85-6710410e48f4' date '12/22/2014' time '11:49:18' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.38' message 'Issue #10: fix a GemStone 2.4.x portability problem' id '19fa2ad7-e6cb-4481-98a5-e637b49e49ab' date '12/21/2014' time '19:26:04' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.37' message 'Issue #10: implement GemServerTestServer for running GemServerRemoteVMTests tests .... added several more tests and fixed some bugs in GemServer class>>gemServerTransaction:onError: and friends' id '8afc1307-7b63-4496-95cb-b0cda90083a5' date '12/21/2014' time '19:15:34' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.36' message 'Issue #10: bulding supporting methods for top-level application error handling and error logging ... server errors will be dealt with using separate (to be written) logic (checkpoint)' id 'a160a736-7277-462f-b478-e4b6eb81093a' date '12/21/2014' time '14:19:52' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.35' message 'define GemServer>>performOnServer:status: so that statusGems won''t error out if a gem doesn''t happen to be running ...' id 'ac15b558-6bcf-4248-abcf-940732736797' date '12/20/2014' time '21:47:41' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.34' message 'implement GemServer>>handleBreakpointException: ' id '09b5af03-82fd-4edd-a796-5a48f6aacde9' date '12/16/2014' time '07:13:11' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.33' message 'working on GsDevKit/Seaside31#59 and noticed that the output fro ps was clipped ... losing just the information that I might want to really see from the status command' id '1247e850-48da-42fd-a1af-be9f072486fc' date '12/15/2014' time '15:46:15' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.32' message 'add statusGems command for GemServer ... returns `ps` for processes associated with the ports' id 'cfdb9768-3b02-44c2-b4bd-c15c4254be56' date '12/13/2014' time '17:28:11' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.31' message 'ServiceVmGemServer moved to GsDevKit/ServiceVM project (https://github.com/GsDevKit/ServiceVM/issues/5)' id '339732d4-6e87-4854-9a64-0a8cc40c8501' date '12/13/2014' time '15:58:24' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.30' message 'Move MaintenanceVmGemServer to Seaside project' id '490a16f5-3868-450b-a8ef-3a346cbb9a00' date '12/12/2014' time '09:52:01' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.29' message 'lazy initialization is not good for the GemServer instances, since multiple gems could be spawned from the same GemServer instance which leads to commit conflicts ... ' id '851fbcd5-458d-47ff-8710-0795e6f344f5' date '12/10/2014' time '17:38:02' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.28' message 'pull up some behavior/state from ZnGemServer as I contemplate implementation of SeasideGemServer family (which is being moved to Seaside31 project)' id 'e20c5d30-c795-4514-9cca-c6333a97c614' date '12/10/2014' time '15:18:47' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.27' message 'portString no longer used' id 'b82c1aa0-5110-40a5-bc9b-757d225c9e31' date '12/10/2014' time '11:00:17' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.26' message 'More porting to 2.4.x ... add GemServerLauncherTests for simple test coverage, tODE should be used for the actual breakpoint and object log tests ' id '7ce13042-cf46-46f9-b3f2-26f4ddff24b8' date '12/09/2014' time '16:48:45' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.25' message 'Porting recent GemserverLauncher and friends work to 2.4' id '744c20b4-e439-46e7-b9c5-1e56e287167e' date '12/09/2014' time '14:15:39' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.24' message 'improve logging and make GemServer transaction safe by using TransientSemaphores' id '2d65afde-00f0-44d3-bfee-c707bebce03a' date '12/09/2014' time '09:57:23' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.23' message 'infrastructure changes to make it possible for a server to switch between native and portable code in support of remote breakpoints ...' id '75ba2020-977c-445c-81a1-3c59a6e5527d' date '12/07/2014' time '18:37:17' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.22' message 'Finish up with the remote breakpoint work ... won''t be able to enable this capability until 3.3 at the soonest ...' id '87bb2e41-1e71-4c39-891a-e472cefc1993' date '12/06/2014' time '14:57:45' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.21' message 'GemServer class>>handleBreakpointException: moved to ZnGemServerLogSupport' id 'a2c9d9a8-d677-409f-8c23-b23bdf34907c' date '12/05/2014' time '14:59:46' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.20' message 'use script for both start and stop ... pid files go into GEMSTONE_LOGDIR' id '6acecf92-5b4d-4ba8-9fd8-40d96a238c44' date '12/04/2014' time '08:09:49' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.19' message 'GemServer class>>handleBreakpointException: can be in common class' id 'dd67e194-1598-42b4-864f-a6532878f183' date '12/03/2014' time '16:24:21' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.18' message 'add GemServer register/unregister methods' id '852a3a6e-738a-4e0c-9647-7ccfe77b949c' date '12/03/2014' time '12:28:38' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.17' message 'remove some extraneous logging .. improve start server label' id '926e5364-3af4-463f-a47a-ec4f64066da8' date '11/30/2014' time '11:52:31' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.16' message 'add strategic object logging to aid in debugging GemServer processing' id 'acf24638-1085-4742-a68e-36c4b8724f16' date '11/30/2014' time '09:21:29' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.15' message 'Issue #2: change GemServer>>defaultScriptBinDirPath to directly access GemServer class, so that subclasses in different projects can still find the script' id '6043a78a-19aa-4760-9367-c4f8b70a5e82' date '11/29/2014' time '20:10:03' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.14' message 'Issue #2: GemServer>>enableRemoteBreakpointHandling is platform-specific as well' id '8e013040-0af2-4b22-bf00-76fa155060d3' date '11/29/2014' time '19:39:46' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.13' message 'Issue #2: split out GemServer>>performOnServer: into separate 2.4 and 3.x packages ... add new packages and update baseline' id '1270825e-9e4b-480c-95ba-89af92443ce6' date '11/29/2014' time '19:14:19' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.12' message 'Issue #2: adjustments for testing' id '0c523ab6-f8f4-4517-b8c4-8c47e683f48c' date '11/29/2014' time '14:48:13' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.11' message 'Issue #2: start/stop/restart appears to be working but I don''t like the level of feedback ... need status command that looks at pid and verifies that pid is there and perhaps some other status information...' id 'ed1d63d6-d88b-4ec0-8690-91cf0dc122ba' date '11/29/2014' time '14:24:04' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.10' message 'issue #2: [ci skip] checkpoint .. preparing for first script tests' id '2cd572d2-e096-4d29-a44d-2b9611c1c651' date '11/29/2014' time '11:42:19' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.9' message 'Issue #2: get ready to run scripts ... add test' id '69489d7e-d2e5-45fb-807b-dc0ebf625cbd' date '11/29/2014' time '09:49:21' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.8' message 'Issue #2: continue move towards GemServer centric design ... with GemServer class>>register:for:on: as the center piece' id '6fb8ce02-0f34-48a1-88f8-13518a567990' date '11/29/2014' time '09:07:49' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.7' message 'Issue #2: get tests passing?' id '7a39f9cf-f346-443b-85bb-df06c8999146' date '11/26/2014' time '22:02:56' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.6' message 'Issue #2: get rid of GemServer portInstance variable ... not really necessary' id '33b9790d-0fe6-448d-b307-2849898f89dc' date '11/26/2014' time '20:12:20' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.5' message 'Issue #2: remove the GemServerStarter classes .... refactor start logic to send startGems, restartGems and stopGems directory to the GemServer instance ... return GemServer instance when created, so that inline start and stop logic can be done without requiring lookup...' id 'd5daf1e3-d581-4a5c-8279-ecc26e65482f' date '11/26/2014' time '20:00:55' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.3' message 'Issue #2: incorporated the "server boilerplate" Smalltalk code from startSeaside30_Adaptor ... push a bunch of stuff around ...' id 'fbb1b950-b097-46da-bff4-c30718ff0445' date '11/26/2014' time '19:29:18' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.2' message 'Issue #2: Taking approach where instead of subclassing GemServerStarter, subclass GemServer ... then we can do direct customization of the various bits and pieces that need customization on run ... and pass any interesting state via the script call ... script location etc. can be specified by the subclass ... Added tests for validating the basic api' id '17c9ab9b-23fe-4849-9e8b-ecfed9e3eb62' date '11/26/2014' time '17:01:21' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.1' message 'Issue #2: rename Application-Server-Tools to GsApplicationTools-Server ... also doing a bit of restructuring' id '0b8a0237-7f35-46cc-978b-3cfa12e1b55b' date '11/26/2014' time '14:27:25' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/GsApplicationTools-ServerV30.package/GemServer.extension/instance/gemServerHandleAlmostOutOfMemoryException..st b/repository/GsApplicationTools-ServerV30.package/GemServer.extension/instance/gemServerHandleAlmostOutOfMemoryException..st index 30373cb..53c35c1 100644 --- a/repository/GsApplicationTools-ServerV30.package/GemServer.extension/instance/gemServerHandleAlmostOutOfMemoryException..st +++ b/repository/GsApplicationTools-ServerV30.package/GemServer.extension/instance/gemServerHandleAlmostOutOfMemoryException..st @@ -6,4 +6,4 @@ gemServerHandleAlmostOutOfMemoryException: exception self logStack: exception titled: - self name , ' ' , exception class name asString , ' exception encountered: ' \ No newline at end of file + self name , ' ' , exception class name asString , ' exception encountered:' \ No newline at end of file diff --git a/repository/GsApplicationTools-ServerV30.package/GemServer.extension/instance/gemServerHandleAlmostOutOfStackException..st b/repository/GsApplicationTools-ServerV30.package/GemServer.extension/instance/gemServerHandleAlmostOutOfStackException..st index fb7794b..1c472b5 100644 --- a/repository/GsApplicationTools-ServerV30.package/GemServer.extension/instance/gemServerHandleAlmostOutOfStackException..st +++ b/repository/GsApplicationTools-ServerV30.package/GemServer.extension/instance/gemServerHandleAlmostOutOfStackException..st @@ -2,8 +2,8 @@ gemServerHandleAlmostOutOfStackException: exception "log the stack trace and unwind stack unless in interactive mode" + self doInteractiveModePass: exception. self logStack: exception titled: - self name , ' ' , exception class name asString , ' exception encountered: '. - self doInteractiveModePass: exception \ No newline at end of file + self name , ' ' , exception class name asString , ' exception encountered:' \ No newline at end of file diff --git a/repository/GsApplicationTools-ServerV30.package/GemServer.extension/methodProperties.json b/repository/GsApplicationTools-ServerV30.package/GemServer.extension/methodProperties.json index a7ee397..7a9b05a 100644 --- a/repository/GsApplicationTools-ServerV30.package/GemServer.extension/methodProperties.json +++ b/repository/GsApplicationTools-ServerV30.package/GemServer.extension/methodProperties.json @@ -5,8 +5,8 @@ "instance" : { "enableAlmostOutOfMemoryHandling" : "dkh 12/26/2014 13:15", "enableRemoteBreakpointHandling" : "dkh 12/10/2014 16:55", - "gemServerHandleAlmostOutOfMemoryException:" : "dkh 01/01/2015 10:53", - "gemServerHandleAlmostOutOfStackException:" : "dkh 12/31/2014 21:22", + "gemServerHandleAlmostOutOfMemoryException:" : "dkh 01/06/2015 16:49", + "gemServerHandleAlmostOutOfStackException:" : "dkh 01/06/2015 16:57", "gemServerHandleBreakException:" : "dkh 12/24/2014 07:34", "hasNoBreakpointsSet" : "dkh 12/09/2014 14:07", "performOnServer:status:" : "dkh 12/22/2014 13:18" } } diff --git a/repository/GsApplicationTools-ServerV30.package/monticello.meta/version b/repository/GsApplicationTools-ServerV30.package/monticello.meta/version index df3d6ae..c33e3cc 100644 --- a/repository/GsApplicationTools-ServerV30.package/monticello.meta/version +++ b/repository/GsApplicationTools-ServerV30.package/monticello.meta/version @@ -1 +1 @@ -(name 'GsApplicationTools-ServerV30-dkh.26' message 'Issue #10: fiddle with test strcuture ... gather more information about the random failures ... (fail on travis, but not locally)' id '1e4cf801-f3e1-486f-9258-166072a60826' date '01/01/2015' time '11:20:34' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.25' message 'Issue #10: implement (and use) GemServer>>doInteractiveModePass:' id '55a84e63-f219-4605-93c6-73f98eb7308a' date '12/31/2014' time '21:23:50' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.24' message 'Issue #10: straighten out interactiveMode operation with respect to exception passing .... fix handling of AlmostOutOfMemory exception with temp stack references in GemServerRemoteServerExample' id '21b556de-c5cd-4c4a-a832-0f1a86df35f3' date '12/28/2014' time '07:13:48' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.23' message 'Issue #10: move AlmostOutOtMemory, AlmostOutOfStack, and Break exception dispatching to v30 package' id '4a21e467-752b-4778-a414-759df50fd169' date '12/26/2014' time '13:22:39' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.22' message 'Issue #10: 3.0 portability for AlmostOutOfMemory' id '91d478a7-9227-459e-b694-2c9e7797835d' date '12/24/2014' time '14:31:40' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.21' message 'Issue #10: use double dispatching for cutomization of exception handling: exception implements exceptionHandlingForGemServer: to route appropriate message to server. Add AlmostOutOfMemory and AlmostOutOfStack support to GemServer ... add GemServerRemoteServerExampleTests tests for internal server errors, Warning, AlmostOutOfMemory and AlmostOutOfStack' id 'c4e45fc7-073c-446a-b521-0fc97323fdb6' date '12/24/2014' time '13:37:20' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.20' message 'Issue #10: add GemServer>>gemServer: and GemServer>>gemServer:onError: as non-transactional veriants for handling server errors, breakpoints and halts (should satisfy Issue #12)...refactor GemServer>>gemServerTransaction:onError: to use GemServer>>gemServer:onError: ... add GemServer>>handleGemServerException: to isolate server error and interactiveMoe logic ... GemServer>>serverError:titled:inTransactionDo: allows for performing optional work in the same transaction as the continuation ... if one is already in transaction a commit is expected to come from the caller ... started work on an example server as the GemServerTestServer has been sacrificed to being able to test various error conditions and is no longer a clean example ...' id '35d0b7be-3357-47d9-b037-ea6aca5fad2b' date '12/23/2014' time '11:19:30' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.19' message 'Issue #10: internal server error handling ... expanded local and remote tests for internal server errors ... interactiveMode added so that exceptions are passed so that debugger can be used ' id '7513b713-e3d9-4b98-9ab8-d5e003459e5e' date '12/22/2014' time '14:01:49' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.18' message 'define GemServer>>performOnServer:status: so that statusGems won''t error out if a gem doesn''t happen to be running ...' id 'b9e11f4b-e94b-49fc-8b19-2391ccfa5c08' date '12/20/2014' time '21:47:42' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.17' message 'rename breakpointExceptionSet to gemServerExceptionSet' id '0f5ab0f0-906d-46cd-ae19-634f5123d6d1' date '12/20/2014' time '13:36:56' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.16' message 'Issue #59: error message not using error informatino from System class>._performOnServer: ... not very helpful' id 'ae4f1db4-4cf1-4e00-a2d5-22d3d981d934' date '12/15/2014' time '16:49:55' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.15' message 'add statusGems command for GemServer ... returns `ps` for processes associated with the ports' id '9344d3f2-b87d-4a34-a3f2-e0af58c47d9b' date '12/13/2014' time '17:28:11' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.14' message 'Include Break in the list of exceptions to snap off continuations for (and resume) in GemServer class>>breakpointExceptionSet for 3.x only' id 'cffea95e-18f6-4824-9ab9-da147486c0ca' date '12/11/2014' time '06:51:27' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.13' message 'lazy initialization is not good for the GemServer instances, since multiple gems could be spawned from the same GemServer instance which leads to commit conflicts ... ' id 'd59f8c28-3dde-4b1b-b087-1a3243220288' date '12/10/2014' time '17:38:03' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.12' message 'More porting to 2.4.x ... add GemServerLauncherTests for simple test coverage, tODE should be used for the actual breakpoint and object log tests ' id '40e5b866-b184-416b-b4f6-4a62f68ecbc3' date '12/09/2014' time '16:48:45' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.11' message 'Porting recent GemserverLauncher and friends work to 2.4' id '7a72f001-ec79-4d3d-8151-a12626650adb' date '12/09/2014' time '14:15:39' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.10' message 'improve logging and make GemServer transaction safe by using TransientSemaphores' id 'd36f80a3-6fcc-42d4-baff-8d0e3d035c73' date '12/09/2014' time '09:57:23' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.9' message 'infrastructure changes to make it possible for a server to switch between native and portable code in support of remote breakpoints ...' id '5eb2f361-fc13-4fa7-a53d-154b95ef33d1' date '12/07/2014' time '18:37:17' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.8' message 'Finish up with the remote breakpoint work ... won''t be able to enable this capability until 3.3 at the soonest ...' id '2448e1ee-648b-4e2f-841d-89d3aa11e3c6' date '12/06/2014' time '14:57:46' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.7' message 'GemServer class>>handleBreakpointException: can be in common class' id 'c4647b6e-92ba-4cdf-a178-0a8fa0da4863' date '12/03/2014' time '16:24:21' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.6' message 'Let''s create continuations for only Halt and Breakpoint ...' id '08aa16f1-09dc-4c6a-b313-136d47c59049' date '12/03/2014' time '16:13:50' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.5' message 'add GemServer register/unregister methods' id 'be9b111a-ea1f-445f-927e-c1ee9ffa53dc' date '12/03/2014' time '12:28:38' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.4' message 'remove some extraneous logging .. improve start server label' id '261dd58a-22b6-4f33-82fc-06ef4de1898b' date '11/30/2014' time '11:52:32' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.3' message 'add strategic object logging to aid in debugging GemServer processing' id '22f18935-a964-4f9b-b2e4-90f2777f2d03' date '11/30/2014' time '09:21:29' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.2' message 'Issue #2: GemServer>>enableRemoteBreakpointHandling is platform-specific as well' id '110b2f05-6165-4738-95f2-2a99fb98c001' date '11/29/2014' time '19:39:46' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.1' message 'split out GemServer>>performOnServer: for GemStone 3.x' id 'dd6e8497-ff11-4ab8-acf0-0390a193c04e' date '11/29/2014' time '19:10:24' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'GsApplicationTools-ServerV30-dkh.27' message 'Issue #58: checkpoint while working through @rjsargent (very thorough) document review' id 'af6e58c9-e28a-47dc-895f-192396d9e889' date '01/06/2015' time '17:07:33' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.26' message 'Issue #10: fiddle with test strcuture ... gather more information about the random failures ... (fail on travis, but not locally)' id '1e4cf801-f3e1-486f-9258-166072a60826' date '01/01/2015' time '11:20:34' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.25' message 'Issue #10: implement (and use) GemServer>>doInteractiveModePass:' id '55a84e63-f219-4605-93c6-73f98eb7308a' date '12/31/2014' time '21:23:50' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.24' message 'Issue #10: straighten out interactiveMode operation with respect to exception passing .... fix handling of AlmostOutOfMemory exception with temp stack references in GemServerRemoteServerExample' id '21b556de-c5cd-4c4a-a832-0f1a86df35f3' date '12/28/2014' time '07:13:48' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.23' message 'Issue #10: move AlmostOutOtMemory, AlmostOutOfStack, and Break exception dispatching to v30 package' id '4a21e467-752b-4778-a414-759df50fd169' date '12/26/2014' time '13:22:39' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.22' message 'Issue #10: 3.0 portability for AlmostOutOfMemory' id '91d478a7-9227-459e-b694-2c9e7797835d' date '12/24/2014' time '14:31:40' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.21' message 'Issue #10: use double dispatching for cutomization of exception handling: exception implements exceptionHandlingForGemServer: to route appropriate message to server. Add AlmostOutOfMemory and AlmostOutOfStack support to GemServer ... add GemServerRemoteServerExampleTests tests for internal server errors, Warning, AlmostOutOfMemory and AlmostOutOfStack' id 'c4e45fc7-073c-446a-b521-0fc97323fdb6' date '12/24/2014' time '13:37:20' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.20' message 'Issue #10: add GemServer>>gemServer: and GemServer>>gemServer:onError: as non-transactional veriants for handling server errors, breakpoints and halts (should satisfy Issue #12)...refactor GemServer>>gemServerTransaction:onError: to use GemServer>>gemServer:onError: ... add GemServer>>handleGemServerException: to isolate server error and interactiveMoe logic ... GemServer>>serverError:titled:inTransactionDo: allows for performing optional work in the same transaction as the continuation ... if one is already in transaction a commit is expected to come from the caller ... started work on an example server as the GemServerTestServer has been sacrificed to being able to test various error conditions and is no longer a clean example ...' id '35d0b7be-3357-47d9-b037-ea6aca5fad2b' date '12/23/2014' time '11:19:30' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.19' message 'Issue #10: internal server error handling ... expanded local and remote tests for internal server errors ... interactiveMode added so that exceptions are passed so that debugger can be used ' id '7513b713-e3d9-4b98-9ab8-d5e003459e5e' date '12/22/2014' time '14:01:49' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.18' message 'define GemServer>>performOnServer:status: so that statusGems won''t error out if a gem doesn''t happen to be running ...' id 'b9e11f4b-e94b-49fc-8b19-2391ccfa5c08' date '12/20/2014' time '21:47:42' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.17' message 'rename breakpointExceptionSet to gemServerExceptionSet' id '0f5ab0f0-906d-46cd-ae19-634f5123d6d1' date '12/20/2014' time '13:36:56' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.16' message 'Issue #59: error message not using error informatino from System class>._performOnServer: ... not very helpful' id 'ae4f1db4-4cf1-4e00-a2d5-22d3d981d934' date '12/15/2014' time '16:49:55' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.15' message 'add statusGems command for GemServer ... returns `ps` for processes associated with the ports' id '9344d3f2-b87d-4a34-a3f2-e0af58c47d9b' date '12/13/2014' time '17:28:11' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.14' message 'Include Break in the list of exceptions to snap off continuations for (and resume) in GemServer class>>breakpointExceptionSet for 3.x only' id 'cffea95e-18f6-4824-9ab9-da147486c0ca' date '12/11/2014' time '06:51:27' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.13' message 'lazy initialization is not good for the GemServer instances, since multiple gems could be spawned from the same GemServer instance which leads to commit conflicts ... ' id 'd59f8c28-3dde-4b1b-b087-1a3243220288' date '12/10/2014' time '17:38:03' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.12' message 'More porting to 2.4.x ... add GemServerLauncherTests for simple test coverage, tODE should be used for the actual breakpoint and object log tests ' id '40e5b866-b184-416b-b4f6-4a62f68ecbc3' date '12/09/2014' time '16:48:45' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.11' message 'Porting recent GemserverLauncher and friends work to 2.4' id '7a72f001-ec79-4d3d-8151-a12626650adb' date '12/09/2014' time '14:15:39' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.10' message 'improve logging and make GemServer transaction safe by using TransientSemaphores' id 'd36f80a3-6fcc-42d4-baff-8d0e3d035c73' date '12/09/2014' time '09:57:23' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.9' message 'infrastructure changes to make it possible for a server to switch between native and portable code in support of remote breakpoints ...' id '5eb2f361-fc13-4fa7-a53d-154b95ef33d1' date '12/07/2014' time '18:37:17' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.8' message 'Finish up with the remote breakpoint work ... won''t be able to enable this capability until 3.3 at the soonest ...' id '2448e1ee-648b-4e2f-841d-89d3aa11e3c6' date '12/06/2014' time '14:57:46' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.7' message 'GemServer class>>handleBreakpointException: can be in common class' id 'c4647b6e-92ba-4cdf-a178-0a8fa0da4863' date '12/03/2014' time '16:24:21' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.6' message 'Let''s create continuations for only Halt and Breakpoint ...' id '08aa16f1-09dc-4c6a-b313-136d47c59049' date '12/03/2014' time '16:13:50' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.5' message 'add GemServer register/unregister methods' id 'be9b111a-ea1f-445f-927e-c1ee9ffa53dc' date '12/03/2014' time '12:28:38' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.4' message 'remove some extraneous logging .. improve start server label' id '261dd58a-22b6-4f33-82fc-06ef4de1898b' date '11/30/2014' time '11:52:32' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.3' message 'add strategic object logging to aid in debugging GemServer processing' id '22f18935-a964-4f9b-b2e4-90f2777f2d03' date '11/30/2014' time '09:21:29' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.2' message 'Issue #2: GemServer>>enableRemoteBreakpointHandling is platform-specific as well' id '110b2f05-6165-4738-95f2-2a99fb98c001' date '11/29/2014' time '19:39:46' author 'dkh' ancestors ((name 'GsApplicationTools-ServerV30-dkh.1' message 'split out GemServer>>performOnServer: for GemStone 3.x' id 'dd6e8497-ff11-4ab8-acf0-0390a193c04e' date '11/29/2014' time '19:10:24' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerInteractiveVMTests.class/instance/setUp.st b/repository/GsApplicationTools-Test.package/GemServerInteractiveVMTests.class/instance/setUp.st index 9253629..666844c 100644 --- a/repository/GsApplicationTools-Test.package/GemServerInteractiveVMTests.class/instance/setUp.st +++ b/repository/GsApplicationTools-Test.package/GemServerInteractiveVMTests.class/instance/setUp.st @@ -2,7 +2,7 @@ running setUp | gemServer | super setUp. - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer interactiveMode: true; gemServerExceptionSet: diff --git a/repository/GsApplicationTools-Test.package/GemServerInteractiveVMTests.class/instance/startGemServer..st b/repository/GsApplicationTools-Test.package/GemServerInteractiveVMTests.class/instance/startGemServer..st index 7479574..68e693e 100644 --- a/repository/GsApplicationTools-Test.package/GemServerInteractiveVMTests.class/instance/startGemServer..st +++ b/repository/GsApplicationTools-Test.package/GemServerInteractiveVMTests.class/instance/startGemServer..st @@ -1,3 +1,3 @@ private startGemServer: gemServer - gemServer interactiveStartServiceOn: nil \ No newline at end of file + gemServer interactiveStartServiceOn: 'instance' \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerInteractiveVMTests.class/methodProperties.json b/repository/GsApplicationTools-Test.package/GemServerInteractiveVMTests.class/methodProperties.json index e23e368..d5109dd 100644 --- a/repository/GsApplicationTools-Test.package/GemServerInteractiveVMTests.class/methodProperties.json +++ b/repository/GsApplicationTools-Test.package/GemServerInteractiveVMTests.class/methodProperties.json @@ -5,5 +5,5 @@ "errorLoggedSymbol" : "dkh 12/22/2014 15:46", "haltSymbol" : "dkh 12/22/2014 15:47", "internalServerErrorSymbol" : "dkh 12/22/2014 15:18", - "setUp" : "dkh 12/31/2014 13:00", - "startGemServer:" : "dkh 12/28/2014 08:09" } } + "setUp" : "dkh 01/06/2015 13:43", + "startGemServer:" : "dkh 01/06/2015 15:51" } } diff --git a/repository/GsApplicationTools-Test.package/GemServerLocalVMTests.class/instance/startGemServer..st b/repository/GsApplicationTools-Test.package/GemServerLocalVMTests.class/instance/startGemServer..st index e2c83f9..4edbd83 100644 --- a/repository/GsApplicationTools-Test.package/GemServerLocalVMTests.class/instance/startGemServer..st +++ b/repository/GsApplicationTools-Test.package/GemServerLocalVMTests.class/instance/startGemServer..st @@ -1,3 +1,3 @@ private startGemServer: gemServer - gemServer unitTestStartServiceOn: nil \ No newline at end of file + gemServer unitTestStartServiceOn: 'instance' \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerLocalVMTests.class/methodProperties.json b/repository/GsApplicationTools-Test.package/GemServerLocalVMTests.class/methodProperties.json index f267eab..b85fd8f 100644 --- a/repository/GsApplicationTools-Test.package/GemServerLocalVMTests.class/methodProperties.json +++ b/repository/GsApplicationTools-Test.package/GemServerLocalVMTests.class/methodProperties.json @@ -2,7 +2,7 @@ "class" : { }, "instance" : { - "startGemServer:" : "dkh 12/22/2014 14:56", + "startGemServer:" : "dkh 01/06/2015 15:52", "startGems:" : "dkh 12/22/2014 14:58", "stopGems:" : "dkh 12/22/2014 11:20", "tearDown" : "dkh 12/22/2014 13:53" } } diff --git a/repository/GsApplicationTools-Test.package/GemServerRegistryTests.class/instance/testQuerying.st b/repository/GsApplicationTools-Test.package/GemServerRegistryTests.class/instance/testQuerying.st index 840ff52..aea349b 100644 --- a/repository/GsApplicationTools-Test.package/GemServerRegistryTests.class/instance/testQuerying.st +++ b/repository/GsApplicationTools-Test.package/GemServerRegistryTests.class/instance/testQuerying.st @@ -2,7 +2,7 @@ tests testQuerying | expected actual | expected := #('Mock_Server' 'Mock_Server_Default'). - actual := GemServerRegistry gemServerNames. + actual := GemServer gemServerNames. self assertExpectedNames: actual equals: expected. actual := GemServerRegistry serversOnPort: 9001. self assertExpectedNames: {(actual name)} equals: #('Mock_Server') \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerRegistryTests.class/instance/testRegistration.st b/repository/GsApplicationTools-Test.package/GemServerRegistryTests.class/instance/testRegistration.st index d274738..9ada3af 100644 --- a/repository/GsApplicationTools-Test.package/GemServerRegistryTests.class/instance/testRegistration.st +++ b/repository/GsApplicationTools-Test.package/GemServerRegistryTests.class/instance/testRegistration.st @@ -2,8 +2,8 @@ tests testRegistration | gemName gemServer | gemName := 'Another_Mock_Server'. - self assert: (GemServerRegistry gemServerNamed: gemName) isNil. + self assert: (GemServer gemServerNamed: gemName) isNil. gemServer := MockGemServer register: gemName on: #(9001 9002 9003). - self assert: (GemServerRegistry gemServerNamed: gemName) notNil. - GemServerRegistry removeGemServer: gemServer. - self assert: (GemServerRegistry gemServerNamed: gemName) isNil \ No newline at end of file + self assert: (GemServer gemServerNamed: gemName) notNil. + GemServer removeGemServer: gemServer. + self assert: (GemServer gemServerNamed: gemName) isNil \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerRegistryTests.class/methodProperties.json b/repository/GsApplicationTools-Test.package/GemServerRegistryTests.class/methodProperties.json index 9a2eb8d..e269e17 100644 --- a/repository/GsApplicationTools-Test.package/GemServerRegistryTests.class/methodProperties.json +++ b/repository/GsApplicationTools-Test.package/GemServerRegistryTests.class/methodProperties.json @@ -6,8 +6,8 @@ "assertExpectedNames:equals:" : "dkh 11/26/2014 15:01", "setUp" : "dkh 11/29/2014 09:15", "testInvalidGemServerNames" : "dkh 11/29/2014 06:37", - "testQuerying" : "dkh 11/26/2014 18:02", - "testRegistration" : "dkh 11/29/2014 06:38", + "testQuerying" : "dkh 01/06/2015 14:08", + "testRegistration" : "dkh 01/06/2015 13:40", "testStartStopRestart" : "dkh 11/29/2014 18:21", "testStartStopRestartAll" : "dkh 11/29/2014 14:42", "testValidGemServerNames" : "dkh 11/29/2014 06:39" } } diff --git a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/testForceBeginTransaction.st b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/testForceBeginTransaction.st index 0df3ab3..b7fc4a9 100644 --- a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/testForceBeginTransaction.st +++ b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/testForceBeginTransaction.st @@ -1,7 +1,7 @@ tests testForceBeginTransaction | gemServer | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer scriptLogEvent: '---->testForceBeginTransaction' object: gemServer. [ self startGems: gemServer. diff --git a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/methodProperties.json b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/methodProperties.json index 93015a3..51c7382 100644 --- a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/methodProperties.json +++ b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/methodProperties.json @@ -4,4 +4,4 @@ "instance" : { "startGems:" : "dkh 12/22/2014 11:18", "stopGems:" : "dkh 12/22/2014 11:18", - "testForceBeginTransaction" : "dkh 12/31/2014 13:39" } } + "testForceBeginTransaction" : "dkh 01/06/2015 13:43" } } diff --git a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/port.st b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/port.st new file mode 100644 index 0000000..c3aa2ab --- /dev/null +++ b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/port.st @@ -0,0 +1,3 @@ +server compat +port + ^ self defaultPortOrResourceNameList first \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/unitTestStartServiceOn..st b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/unitTestStartServiceOn..st index 0a34792..0802a54 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/unitTestStartServiceOn..st +++ b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/unitTestStartServiceOn..st @@ -1,12 +1,12 @@ service instance-script -unitTestStartServiceOn: portOrNil +unitTestStartServiceOn: portOrResourceName "called from development environment ... service run in current vm." self scriptLogEvent: - '-->>Interactive Start ' , self name , ' on ' , portOrNil printString + '-->>Interactive Start ' , self name , ' on ' , portOrResourceName printString object: self. self transactionMode: #'autoBegin'; interactiveMode: false. - self startServerOn: portOrNil "does not return" \ No newline at end of file + self startServerOn: portOrResourceName "does not return" \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/methodProperties.json b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/methodProperties.json index ebcf861..31b0a2f 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/methodProperties.json +++ b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/methodProperties.json @@ -26,5 +26,6 @@ "performMessage:with:" : "dkh 12/22/2014 16:30", "performNoop" : "dkh 12/22/2014 16:17", "performServerStarted" : "dkh 12/22/2014 16:17", + "port" : "dkh 01/06/2015 16:05", "stop" : "dkh 01/02/2015 17:16", - "unitTestStartServiceOn:" : "dkh 01/03/2015 15:51" } } + "unitTestStartServiceOn:" : "dkh 01/06/2015 15:50" } } diff --git a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testError.st b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testError.st index 65e8a92..b400e0c 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testError.st +++ b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testError.st @@ -1,7 +1,7 @@ tests testError | gemServer | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer scriptLogEvent: '---->testERROR' object: gemServer. [ self startGems: gemServer. diff --git a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testForceInternalServerError.st b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testForceInternalServerError.st index 733091c..9093c75 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testForceInternalServerError.st +++ b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testForceInternalServerError.st @@ -1,7 +1,7 @@ tests testForceInternalServerError | gemServer | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer scriptLogEvent: '---->testForceInternalServerError' object: gemServer. diff --git a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testHalt.st b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testHalt.st index 329ba05..cf9ad0b 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testHalt.st +++ b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testHalt.st @@ -1,7 +1,7 @@ tests testHalt | gemServer | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer scriptLogEvent: '---->testHalt' object: gemServer. [ self startGems: gemServer. diff --git a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testPerformMessage.st b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testPerformMessage.st index 8081962..f0ce503 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testPerformMessage.st +++ b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testPerformMessage.st @@ -1,7 +1,7 @@ tests testPerformMessage | gemServer | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer scriptLogEvent: '---->testPerformMessage' object: gemServer. [ self startGems: gemServer. diff --git a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testStartServer.st b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testStartServer.st index e6100a6..c949519 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testStartServer.st +++ b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testStartServer.st @@ -1,7 +1,7 @@ tests testStartServer | gemServer | - gemServer := GemServerRegistry gemServerNamed: self gemServerName. + gemServer := GemServer gemServerNamed: self gemServerName. gemServer scriptLogEvent: '---->testStartServer' object: gemServer. [ self startGems: gemServer. diff --git a/repository/GsApplicationTools-Test.package/GemServerTests.class/methodProperties.json b/repository/GsApplicationTools-Test.package/GemServerTests.class/methodProperties.json index a8cd80d..e89d0a2 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTests.class/methodProperties.json +++ b/repository/GsApplicationTools-Test.package/GemServerTests.class/methodProperties.json @@ -9,9 +9,9 @@ "setUp" : "dkh 12/22/2014 14:54", "startGems:" : "dkh 12/22/2014 11:16", "stopGems:" : "dkh 12/22/2014 11:16", - "testError" : "dkh 12/22/2014 16:42", - "testForceInternalServerError" : "dkh 12/31/2014 13:39", - "testHalt" : "dkh 12/23/2014 11:09", - "testPerformMessage" : "dkh 12/22/2014 11:19", - "testStartServer" : "dkh 12/22/2014 11:19", + "testError" : "dkh 01/06/2015 13:43", + "testForceInternalServerError" : "dkh 01/06/2015 13:43", + "testHalt" : "dkh 01/06/2015 13:43", + "testPerformMessage" : "dkh 01/06/2015 13:43", + "testStartServer" : "dkh 01/06/2015 13:43", "waitForActionResult:" : "dkh 12/22/2014 12:30" } } diff --git a/repository/GsApplicationTools-Test.package/MockGemServer.class/instance/executeStartGemCommand..st b/repository/GsApplicationTools-Test.package/MockGemServer.class/instance/executeStartGemCommand..st index c1aeef8..bfce111 100644 --- a/repository/GsApplicationTools-Test.package/MockGemServer.class/instance/executeStartGemCommand..st +++ b/repository/GsApplicationTools-Test.package/MockGemServer.class/instance/executeStartGemCommand..st @@ -1,5 +1,5 @@ server specialization -executeStartGemCommand: port +executeStartGemCommand: portOrResourceName self useEventLog - ifFalse: [ ^ super executeStartGemCommand: port ]. - self eventLog add: 'start' -> port \ No newline at end of file + ifFalse: [ ^ super executeStartGemCommand: portOrResourceName ]. + self eventLog add: 'start' -> portOrResourceName \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/MockGemServer.class/instance/executeStopGemCommand..st b/repository/GsApplicationTools-Test.package/MockGemServer.class/instance/executeStopGemCommand..st index e013b15..7be0f35 100644 --- a/repository/GsApplicationTools-Test.package/MockGemServer.class/instance/executeStopGemCommand..st +++ b/repository/GsApplicationTools-Test.package/MockGemServer.class/instance/executeStopGemCommand..st @@ -1,5 +1,5 @@ server specialization -executeStopGemCommand: port +executeStopGemCommand: portOrResourceName self useEventLog - ifFalse: [ ^ super executeStopGemCommand: port ]. - self eventLog add: 'stop' -> port \ No newline at end of file + ifFalse: [ ^ super executeStopGemCommand: portOrResourceName ]. + self eventLog add: 'stop' -> portOrResourceName \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/MockGemServer.class/methodProperties.json b/repository/GsApplicationTools-Test.package/MockGemServer.class/methodProperties.json index 7ac93ae..d223129 100644 --- a/repository/GsApplicationTools-Test.package/MockGemServer.class/methodProperties.json +++ b/repository/GsApplicationTools-Test.package/MockGemServer.class/methodProperties.json @@ -4,8 +4,8 @@ "instance" : { "eventLog" : "dkh 11/26/2014 16:56", "eventLog:" : "dkh 11/26/2014 16:56", - "executeStartGemCommand:" : "dkh 11/29/2014 14:36", - "executeStopGemCommand:" : "dkh 11/29/2014 14:46", + "executeStartGemCommand:" : "dkh 01/06/2015 15:31", + "executeStopGemCommand:" : "dkh 01/06/2015 15:31", "resetEventLog" : "dkh 11/26/2014 16:56", "scriptBinDir" : "dkh 11/29/2014 09:46", "useEventLog" : "dkh 11/29/2014 09:12", diff --git a/repository/GsApplicationTools-Test.package/monticello.meta/version b/repository/GsApplicationTools-Test.package/monticello.meta/version index 4e2695a..6853c9d 100644 --- a/repository/GsApplicationTools-Test.package/monticello.meta/version +++ b/repository/GsApplicationTools-Test.package/monticello.meta/version @@ -1 +1 @@ -(name 'GsApplicationTools-Test-dkh.32' message 'Issue #10: a bit more streamlining of the gemserver api' id '7fb5e679-456f-4d3b-8104-4c54971d6268' date '01/03/2015' time '20:20:03' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.31' message 'Issue #10: convert startBasicServerOn: to basicServerOn: ... basicServerOn: is now the method that should be subclassed' id '35dbfd93-b887-4d92-b610-071d3f325f96' date '01/02/2015' time '17:54:03' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.30' message 'Issue #10: move basicServerProcess up to GemServer ...' id '2ead4e7f-6196-42f0-9a52-52b70778efb0' date '01/02/2015' time '17:38:02' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.29' message 'Issue #10: address testForceInternalServerError and testForceInternalServerError failures' id 'ebec0e7b-f540-40c5-8ac6-097109deb940' date '12/31/2014' time '13:53:52' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.28' message 'Issue #10: clean up sent but not implemented ... fix GemServerInteractiveVMTests test failures' id '3397c009-e44d-4e72-b55d-5d2de0062365' date '12/31/2014' time '13:02:41' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.27' message 'Issue #10: rename gemServer:* selectors to use beforeUnwind: instead of onError:' id '402c8e0d-6756-460c-a0dc-30c6aa70eec3' date '12/30/2014' time '12:27:10' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.26' message 'Issue #10: implement GemServer>>doBasicTransaction:, GemServer>>doTransaction:, and GemServer>>doTransaction:onConflict: to replace GemServer>>doSimpleTransaction: and GemServer>>doComplexTransaction:onConflict: ... ongoing docs work' id '47acc869-f34a-40f8-bd68-d9453989ad2f' date '12/30/2014' time '07:34:41' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.25' message 'Issue #10: should finally have GemServerInteractiveVMTests>>setUp back in shape...' id '3367f19f-6061-42a8-a9dc-c246011b02b6' date '12/28/2014' time '09:01:03' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.24' message 'Issue #10: pull gemServerExceptionSet iv up to GemServer ... interactive tests needs to be able to customize the exception set used and it stands to reason that developers will as well ...' id '097d8235-4f01-4c74-9c2b-e9c3294337f1' date '12/28/2014' time '08:38:51' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.23' message 'Issue #10: change baseline to require GLASS1...clean up sent but not implemented' id '1d058570-d537-408d-a4ff-1640217c0bef' date '12/26/2014' time '12:05:26' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.22' message 'Issue #10: beef up GemServer>>doComplexTransaction: to include an onCoflictBlock ... GemServer>>doComplexTransaction:onConflict: conflict handling is WHY you use doComplexTransaction:. Allow for exceptionSet customization in gemServer:... gemServerTransaction:... calls and of course add onConflict customization to gemServerTransaction:... calls...GemServerTestServer>>startBasicServerOn: now uses both flavors of gemServer api calls: gemServer:... and gemServerTransaction:...' id '71db5790-d413-46fe-ad95-792ac58b66b8' date '12/23/2014' time '12:32:01' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.21' message 'Issue #10: add GemServer>>gemServer: and GemServer>>gemServer:onError: as non-transactional veriants for handling server errors, breakpoints and halts (should satisfy Issue #12)...refactor GemServer>>gemServerTransaction:onError: to use GemServer>>gemServer:onError: ... add GemServer>>handleGemServerException: to isolate server error and interactiveMoe logic ... GemServer>>serverError:titled:inTransactionDo: allows for performing optional work in the same transaction as the continuation ... if one is already in transaction a commit is expected to come from the caller ... started work on an example server as the GemServerTestServer has been sacrificed to being able to test various error conditions and is no longer a clean example ...' id 'a777493a-51de-40a4-b7d3-5019d2252ddd' date '12/23/2014' time '11:19:30' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.20' message 'Issue #10: add GemServerInteractiveVMTests to test interactiveMode of GemServer, i.e., in interactiveMode exceptions are handled, logged then passed so that developer can bring up a debugger in a development environment ... for those cases when server-side code is being written ...' id '0eb302df-aa08-46ae-9223-72e0fd4702b4' date '12/22/2014' time '17:14:06' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.19' message 'Issue #10: internal server error handling ... expanded local and remote tests for internal server errors ... interactiveMode added so that exceptions are passed so that debugger can be used ' id '1e4bc30f-7578-42de-b931-ec41009543a3' date '12/22/2014' time '14:01:49' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.18' message 'Issue #10: gearing up to work through interactive debugging transaction support' id '9b929f60-3f93-44fd-9236-de1115259c8f' date '12/22/2014' time '11:49:18' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.17' message 'Issue #10: 2.4.x portability ...' id '6932f2db-e550-462a-99f1-8c76da8dab69' date '12/22/2014' time '10:17:32' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.16' message 'Issue #10: implement GemServerTestServer for running GemServerRemoteVMTests tests .... added several more tests and fixed some bugs in GemServer class>>gemServerTransaction:onError: and friends' id '6bae3b41-f9b1-4f6a-8854-a156711ceb74' date '12/21/2014' time '19:15:35' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.15' message 'fix test error' id '0cfee396-6e70-42c4-917b-b4d4aac80330' date '12/13/2014' time '17:38:02' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.14' message 'add statusGems command for GemServer ... returns `ps` for processes associated with the ports' id '5c266914-27f6-4eb4-9a76-cad155e67aa4' date '12/13/2014' time '17:28:11' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.13' message 'More porting to 2.4.x ... add GemServerLauncherTests for simple test coverage, tODE should be used for the actual breakpoint and object log tests ' id 'cdf57f8b-1f65-4b96-a58c-2de0c6f252a9' date '12/09/2014' time '16:48:45' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.12' message 'Issue #2: fix mistake in test' id '3a07e302-7a07-4ece-9768-114ba57f4e40' date '11/29/2014' time '18:22:04' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.11' message 'Issue #2: get the GemServerRemoteVMTests>>testStart test to function ' id '62ad1a30-c7a6-4907-baee-542a534c73a7' date '11/29/2014' time '18:16:14' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.10' message 'Issue #2: add remote vm test' id '73290117-3cfa-4112-b3fb-d81034b00ae6' date '11/29/2014' time '15:07:48' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.9' message 'Issue #2: adjustments for testing' id 'f75b38ed-0717-4895-9995-c83b76e6341f' date '11/29/2014' time '14:48:13' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.8' message 'Issue #2: start/stop/restart appears to be working but I don''t like the level of feedback ... need status command that looks at pid and verifies that pid is there and perhaps some other status information...' id 'b6f523ee-5da7-4b19-8e2e-8ce1198d471a' date '11/29/2014' time '14:24:04' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.7' message 'issue #2: [ci skip] checkpoint .. preparing for first script tests' id '74620772-ec63-42b5-b64c-e677f6122007' date '11/29/2014' time '11:42:20' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.6' message 'Issue #2: get ready to run scripts ... add test' id 'b79e09e2-62a0-4f6b-8a4b-b85fcc9b9e17' date '11/29/2014' time '09:49:22' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.5' message 'Issue #2: continue move towards GemServer centric design ... with GemServer class>>register:for:on: as the center piece' id '2fd99139-bbe8-4039-a3e7-4c60094a002c' date '11/29/2014' time '09:07:50' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.4' message 'Issue #2: get rid of GemServer portInstance variable ... not really necessary' id 'e5a5ac07-e90e-4af7-936b-b2568f6f9082' date '11/26/2014' time '20:12:20' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.3' message 'Issue #2: incorporated the "server boilerplate" Smalltalk code from startSeaside30_Adaptor ... push a bunch of stuff around ...' id 'aed37ec0-331f-45ff-af57-05edc4205308' date '11/26/2014' time '19:29:19' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.2' message 'Issue #2: Taking approach where instead of subclassing GemServerStarter, subclass GemServer ... then we can do direct customization of the various bits and pieces that need customization on run ... and pass any interesting state via the script call ... script location etc. can be specified by the subclass ... Added tests for validating the basic api' id '373d6136-05ff-4c01-a96f-ad233a82912e' date '11/26/2014' time '17:01:21' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.1' message 'Issue #2: add a tests package ... stub of test' id '2760d97c-bfa7-4373-9bb8-60c5da12f177' date '11/26/2014' time '14:28:11' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'GsApplicationTools-Test-dkh.36' message 'more work on replace use of ports with portOrResourceNameList' id '075c0c92-1b5a-423c-9b3c-76acd5457bee' date '01/06/2015' time '16:18:11' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.35' message 'replace use of ports with portOrResourceNameList, since some gem servers are not port-based ... yet we need a unique id to identify the gem server instances ..' id 'a9fb05a8-f86b-4f88-8834-c1e49cf2ff68' date '01/06/2015' time '15:39:57' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.34' message 'address some test errors' id 'cb7f36cd-1cb5-4ac1-b642-549cb656f156' date '01/06/2015' time '14:10:01' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.33' message 'Make GemServerRegistry a second class object by moving interesting protocol to GemServer' id 'c234943d-547e-4e27-907e-84c8c47f56c9' date '01/06/2015' time '13:45:20' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.32' message 'Issue #10: a bit more streamlining of the gemserver api' id '7fb5e679-456f-4d3b-8104-4c54971d6268' date '01/03/2015' time '20:20:03' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.31' message 'Issue #10: convert startBasicServerOn: to basicServerOn: ... basicServerOn: is now the method that should be subclassed' id '35dbfd93-b887-4d92-b610-071d3f325f96' date '01/02/2015' time '17:54:03' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.30' message 'Issue #10: move basicServerProcess up to GemServer ...' id '2ead4e7f-6196-42f0-9a52-52b70778efb0' date '01/02/2015' time '17:38:02' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.29' message 'Issue #10: address testForceInternalServerError and testForceInternalServerError failures' id 'ebec0e7b-f540-40c5-8ac6-097109deb940' date '12/31/2014' time '13:53:52' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.28' message 'Issue #10: clean up sent but not implemented ... fix GemServerInteractiveVMTests test failures' id '3397c009-e44d-4e72-b55d-5d2de0062365' date '12/31/2014' time '13:02:41' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.27' message 'Issue #10: rename gemServer:* selectors to use beforeUnwind: instead of onError:' id '402c8e0d-6756-460c-a0dc-30c6aa70eec3' date '12/30/2014' time '12:27:10' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.26' message 'Issue #10: implement GemServer>>doBasicTransaction:, GemServer>>doTransaction:, and GemServer>>doTransaction:onConflict: to replace GemServer>>doSimpleTransaction: and GemServer>>doComplexTransaction:onConflict: ... ongoing docs work' id '47acc869-f34a-40f8-bd68-d9453989ad2f' date '12/30/2014' time '07:34:41' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.25' message 'Issue #10: should finally have GemServerInteractiveVMTests>>setUp back in shape...' id '3367f19f-6061-42a8-a9dc-c246011b02b6' date '12/28/2014' time '09:01:03' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.24' message 'Issue #10: pull gemServerExceptionSet iv up to GemServer ... interactive tests needs to be able to customize the exception set used and it stands to reason that developers will as well ...' id '097d8235-4f01-4c74-9c2b-e9c3294337f1' date '12/28/2014' time '08:38:51' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.23' message 'Issue #10: change baseline to require GLASS1...clean up sent but not implemented' id '1d058570-d537-408d-a4ff-1640217c0bef' date '12/26/2014' time '12:05:26' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.22' message 'Issue #10: beef up GemServer>>doComplexTransaction: to include an onCoflictBlock ... GemServer>>doComplexTransaction:onConflict: conflict handling is WHY you use doComplexTransaction:. Allow for exceptionSet customization in gemServer:... gemServerTransaction:... calls and of course add onConflict customization to gemServerTransaction:... calls...GemServerTestServer>>startBasicServerOn: now uses both flavors of gemServer api calls: gemServer:... and gemServerTransaction:...' id '71db5790-d413-46fe-ad95-792ac58b66b8' date '12/23/2014' time '12:32:01' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.21' message 'Issue #10: add GemServer>>gemServer: and GemServer>>gemServer:onError: as non-transactional veriants for handling server errors, breakpoints and halts (should satisfy Issue #12)...refactor GemServer>>gemServerTransaction:onError: to use GemServer>>gemServer:onError: ... add GemServer>>handleGemServerException: to isolate server error and interactiveMoe logic ... GemServer>>serverError:titled:inTransactionDo: allows for performing optional work in the same transaction as the continuation ... if one is already in transaction a commit is expected to come from the caller ... started work on an example server as the GemServerTestServer has been sacrificed to being able to test various error conditions and is no longer a clean example ...' id 'a777493a-51de-40a4-b7d3-5019d2252ddd' date '12/23/2014' time '11:19:30' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.20' message 'Issue #10: add GemServerInteractiveVMTests to test interactiveMode of GemServer, i.e., in interactiveMode exceptions are handled, logged then passed so that developer can bring up a debugger in a development environment ... for those cases when server-side code is being written ...' id '0eb302df-aa08-46ae-9223-72e0fd4702b4' date '12/22/2014' time '17:14:06' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.19' message 'Issue #10: internal server error handling ... expanded local and remote tests for internal server errors ... interactiveMode added so that exceptions are passed so that debugger can be used ' id '1e4bc30f-7578-42de-b931-ec41009543a3' date '12/22/2014' time '14:01:49' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.18' message 'Issue #10: gearing up to work through interactive debugging transaction support' id '9b929f60-3f93-44fd-9236-de1115259c8f' date '12/22/2014' time '11:49:18' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.17' message 'Issue #10: 2.4.x portability ...' id '6932f2db-e550-462a-99f1-8c76da8dab69' date '12/22/2014' time '10:17:32' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.16' message 'Issue #10: implement GemServerTestServer for running GemServerRemoteVMTests tests .... added several more tests and fixed some bugs in GemServer class>>gemServerTransaction:onError: and friends' id '6bae3b41-f9b1-4f6a-8854-a156711ceb74' date '12/21/2014' time '19:15:35' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.15' message 'fix test error' id '0cfee396-6e70-42c4-917b-b4d4aac80330' date '12/13/2014' time '17:38:02' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.14' message 'add statusGems command for GemServer ... returns `ps` for processes associated with the ports' id '5c266914-27f6-4eb4-9a76-cad155e67aa4' date '12/13/2014' time '17:28:11' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.13' message 'More porting to 2.4.x ... add GemServerLauncherTests for simple test coverage, tODE should be used for the actual breakpoint and object log tests ' id 'cdf57f8b-1f65-4b96-a58c-2de0c6f252a9' date '12/09/2014' time '16:48:45' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.12' message 'Issue #2: fix mistake in test' id '3a07e302-7a07-4ece-9768-114ba57f4e40' date '11/29/2014' time '18:22:04' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.11' message 'Issue #2: get the GemServerRemoteVMTests>>testStart test to function ' id '62ad1a30-c7a6-4907-baee-542a534c73a7' date '11/29/2014' time '18:16:14' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.10' message 'Issue #2: add remote vm test' id '73290117-3cfa-4112-b3fb-d81034b00ae6' date '11/29/2014' time '15:07:48' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.9' message 'Issue #2: adjustments for testing' id 'f75b38ed-0717-4895-9995-c83b76e6341f' date '11/29/2014' time '14:48:13' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.8' message 'Issue #2: start/stop/restart appears to be working but I don''t like the level of feedback ... need status command that looks at pid and verifies that pid is there and perhaps some other status information...' id 'b6f523ee-5da7-4b19-8e2e-8ce1198d471a' date '11/29/2014' time '14:24:04' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.7' message 'issue #2: [ci skip] checkpoint .. preparing for first script tests' id '74620772-ec63-42b5-b64c-e677f6122007' date '11/29/2014' time '11:42:20' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.6' message 'Issue #2: get ready to run scripts ... add test' id 'b79e09e2-62a0-4f6b-8a4b-b85fcc9b9e17' date '11/29/2014' time '09:49:22' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.5' message 'Issue #2: continue move towards GemServer centric design ... with GemServer class>>register:for:on: as the center piece' id '2fd99139-bbe8-4039-a3e7-4c60094a002c' date '11/29/2014' time '09:07:50' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.4' message 'Issue #2: get rid of GemServer portInstance variable ... not really necessary' id 'e5a5ac07-e90e-4af7-936b-b2568f6f9082' date '11/26/2014' time '20:12:20' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.3' message 'Issue #2: incorporated the "server boilerplate" Smalltalk code from startSeaside30_Adaptor ... push a bunch of stuff around ...' id 'aed37ec0-331f-45ff-af57-05edc4205308' date '11/26/2014' time '19:29:19' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.2' message 'Issue #2: Taking approach where instead of subclassing GemServerStarter, subclass GemServer ... then we can do direct customization of the various bits and pieces that need customization on run ... and pass any interesting state via the script call ... script location etc. can be specified by the subclass ... Added tests for validating the basic api' id '373d6136-05ff-4c01-a96f-ad233a82912e' date '11/26/2014' time '17:01:21' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.1' message 'Issue #2: add a tests package ... stub of test' id '2760d97c-bfa7-4373-9bb8-60c5da12f177' date '11/26/2014' time '14:28:11' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/tode/example.ston b/tode/example.ston index d4acfea..6523be6 100644 --- a/tode/example.ston +++ b/tode/example.ston @@ -40,7 +40,7 @@ TDScriptLeafNode{#name:'example',#contents:'[ :topez :objIn :tokens :command :co opts at: \'model\' ifPresent: [ :model | transModel := model ]. opts at: \'unregister\' - ifPresent: [ :serverName | result := GemServerRegistry removeGemServerNamed: serverName ] + ifPresent: [ :serverName | result := GemServer removeGemServerNamed: serverName ] ifAbsent: [ | serverName serverCls | opts @@ -54,7 +54,7 @@ TDScriptLeafNode{#name:'example',#contents:'[ :topez :objIn :tokens :command :co ifTrue: [ serverCls := GemServerRemoteServerSerialProcessingExample ] ]. serverName ifNotNil: [ - gemServer := (GemServerRegistry gemServerNamed: serverName) + gemServer := (GemServer gemServerNamed: serverName) ifNil: [ gemServer := serverCls register: serverName ] ]. gemServer tracing: trace; @@ -82,7 +82,7 @@ TDScriptLeafNode{#name:'example',#contents:'[ :topez :objIn :tokens :command :co opts at: \'server\' ifPresent: [ :serverName | - client := (gemServer := GemServerRegistry gemServerNamed: serverName) + client := (gemServer := GemServer gemServerNamed: serverName) clientClass new ]. taskList := {}. selectors @@ -103,28 +103,28 @@ TDScriptLeafNode{#name:'example',#contents:'[ :topez :objIn :tokens :command :co result := client waitForTasks: taskList gemServer: gemServer ]. opts at: \'remoteStop\' - ifPresent: [ :serverName | result := (GemServerRegistry gemServerNamed: serverName) stopGems ]. + ifPresent: [ :serverName | result := (GemServer gemServerNamed: serverName) stopGems ]. opts at: \'remoteStart\' - ifPresent: [ :serverName | result := (GemServerRegistry gemServerNamed: serverName) startGems ]. + ifPresent: [ :serverName | result := (GemServer gemServerNamed: serverName) startGems ]. opts at: \'remoteStatus\' - ifPresent: [ :serverName | result := (GemServerRegistry gemServerNamed: serverName) statusGems ]. + ifPresent: [ :serverName | result := (GemServer gemServerNamed: serverName) statusGems ]. opts at: \'remoteRestart\' - ifPresent: [ :serverName | result := (GemServerRegistry gemServerNamed: serverName) restartGems ]. + ifPresent: [ :serverName | result := (GemServer gemServerNamed: serverName) restartGems ]. opts at: \'stop\' - ifPresent: [ :serverName | result := (GemServerRegistry gemServerNamed: serverName) stop ]. + ifPresent: [ :serverName | result := (GemServer gemServerNamed: serverName) stop ]. opts at: \'start\' - ifPresent: [ :serverName | result := (GemServerRegistry gemServerNamed: serverName) start ]. + ifPresent: [ :serverName | result := (GemServer gemServerNamed: serverName) start ]. opts at: \'status\' - ifPresent: [ :serverName | result := (GemServerRegistry gemServerNamed: serverName) status ]. + ifPresent: [ :serverName | result := (GemServer gemServerNamed: serverName) status ]. opts at: \'restart\' - ifPresent: [ :serverName | result := (GemServerRegistry gemServerNamed: serverName) restart ]. + ifPresent: [ :serverName | result := (GemServer gemServerNamed: serverName) restart ]. result ] ifPresent: [ :ignored | TDManPage @@ -187,4 +187,4 @@ EXAMPLES ./example --client=100 --server=example --trace \' - topez: topez ] ]',#creationTime:DateAndTime['2014-12-24T14:36:04.4822709560394-08:00'],#modificationTime:DateAndTime['2015-01-05T19:16:38.9522230625152-08:00']} \ No newline at end of file + topez: topez ] ]',#creationTime:DateAndTime['2014-12-24T14:36:04.4822709560394-08:00'],#modificationTime:DateAndTime['2015-01-06T13:39:25.4889669418335-08:00']} \ No newline at end of file