Hi forum,
I'm getting close to wanting to package my Seaside app (at least for some testing). Any hints, suggestions or instructions are greatly appreciated.
Lou
Moderators: Eric Clayberg, wembley, tc, Diane Engles, solveig
In Va8 Production you need a startup method which starts the http server and then initializes the root component
Whether you want to run your app as a NT service or as executable is a totally different question.
[ ( WASstServerAdaptor port: 8080) start.
MyOwnRootcopmponent initialize.]
fork
starting
"This is the entry point into the user code for the service.
First register the application. This sets the service status to
RUNNING and establishes the callback for stopping the service application.
Then write an entry in the event log.
Then create and start the server object."
AbtNtServiceInterface default
registerService: self name stopSelector: #stopping;
writeEventLogInformation: 1.
[
(WASstServerAdaptor port: 8788) start.
MyRoot initialize.
] fork.
initialize
(WAAdmin register: self asApplicationAt: 'MyServerName')
preferenceAt: #sessionClass put: MySession.
VA Smalltalk, Version 8.0
VM Timestamp: 4.0,(NC) 3/30/2009 (78)
(C) Copyright Instantiations 1994, 2009. All rights reserved.
(C) Copyright International Business Machines Corp. 1994, 2006. All rights reserved.
Virtual Machine PID: 3084
Option oldSpaceSize set to 20000000
Option newSpaceSize set to 2000000
Option lowMinimum set to 2000000
ServerName: 'Seaside Servlet Server'
Handlers: OrderedCollection(SstInvocationHandler(http://:8788/) )
Logger: nil
Contexts: LookupTable('
SstServletContext {
ContextPath: ''/''
DefaultServlet: WASstHttpServlet
ServletMaps: LookupTable {
''Seaside Servlet'' -> OrderedCollection(''/Seaside'' )
}
InitParms: LookupTable {}
ErrorPages: LookupTable {}
SessionConfig: a SstSessionManagerConfiguration}' )
Process reportError: UndefinedObject does not understand ancestorsDo:seen:
UndefinedObject does not understand ancestorsDo:seen:
AbtNtServiceHeadlessRuntimeStartUp class(EsImageStartUp class)>>#outputWalkback:process:
receiver = AbtNtServiceHeadlessRuntimeStartUp
arg1 = 'UndefinedObject does not understand ancestorsDo:seen:'
arg2 = Process:35203{running,3}
AbtNtServiceHeadlessRuntimeStartUp class(EsImageStartUp class)>>#outputWalkback:
receiver = AbtNtServiceHeadlessRuntimeStartUp
arg1 = 'UndefinedObject does not understand ancestorsDo:seen:'
AbtNtServiceHeadlessRuntimeStartUp class(EsImageStartUp class)>>#reportError:resumable:startBP:
receiver = AbtNtServiceHeadlessRuntimeStartUp
arg1 = 'UndefinedObject does not understand ancestorsDo:seen:'
arg2 = false
arg3 = 256
Process>>#reportError:resumable:
receiver = Process:35203{running,3}
arg1 = 'UndefinedObject does not understand ancestorsDo:seen:'
arg2 = false
temp1 = 256
[optimized] in ExceptionalEvent class>>#initializeSystemExceptions
blockarg1 = Signal on Exception: (ExError) An error has occurred.
Signal>>#evaluate:
receiver = Signal on Exception: (ExError) An error has occurred.
arg1 = [] in ExceptionalEvent class>>#initializeSystemExceptions
ExceptionalEvent>>#applyDefaultHandler:
receiver = Exception: (ExError) An error has occurred.
arg1 = Signal on Exception: (ExError) An error has occurred.
temp1 = Exception: (ExError) An error has occurred.
ExceptionalEvent>>#signalFor:
receiver = Exception: (ExError) An error has occurred.
arg1 = Signal on Exception: (ExError) An error has occurred.
temp1 = nil
ExceptionalEvent>>#signalWithArguments:
receiver = Exception: (ExError) An error has occurred.
arg1 = ('UndefinedObject does not understand ancestorsDo:seen:')
ExceptionalEvent>>#signalWith:
receiver = Exception: (ExError) An error has occurred.
arg1 = 'UndefinedObject does not understand ancestorsDo:seen:'
UndefinedObject(Object)>>#error:
receiver = nil
arg1 = 'UndefinedObject does not understand ancestorsDo:seen:'
MessageNotUnderstood>>#defaultAction
receiver = Signal on Exception: (ExMessageNotUnderstood) An exception has occurred
[optimized] in Exception class>>#newExceptionalEvent
blockarg1 = Signal on Exception: (ExMessageNotUnderstood) An exception has occurred
MessageNotUnderstood(Exception)>>#evaluate:
receiver = Signal on Exception: (ExMessageNotUnderstood) An exception has occurred
arg1 = [] in Exception class>>#newExceptionalEvent
ExceptionalEvent>>#applyDefaultHandler:
receiver = Exception: (ExMessageNotUnderstood) An exception has occurred
arg1 = Signal on Exception: (ExMessageNotUnderstood) An exception has occurred
temp1 = Exception: (ExMessageNotUnderstood) An exception has occurred
ExceptionalEvent>>#signalFor:
receiver = Exception: (ExMessageNotUnderstood) An exception has occurred
arg1 = Signal on Exception: (ExMessageNotUnderstood) An exception has occurred
temp1 = nil
MessageNotUnderstood(Exception)>>#signal
receiver = Signal on Exception: (ExMessageNotUnderstood) An exception has occurred
MessageNotUnderstood class(Exception class)>>#signalWith:
receiver = MessageNotUnderstood
arg1 = (nil Message (#ancestorsDo:seen:, ([] in WAConfiguration>>#ancestors IdentitySet())))
UndefinedObject(Object)>>#doesNotUnderstand:
receiver = nil
arg1 = Message (#ancestorsDo:seen:, ([] in WAConfiguration>>#ancestors IdentitySet()))
[] in WASharedConfiguration(WAConfiguration)>>#ancestorsDo:seen:
receiver = a WASharedConfiguration
arg1 = [] in WAConfiguration>>#ancestors
arg2 = IdentitySet()
blockarg1 = nil
OrderedCollection>>#reverseDo:
receiver = OrderedCollection(a WARenderLoopConfiguration nil )
arg1 = [] in WAConfiguration>>#ancestorsDo:seen:
temp1 = 2
WASharedConfiguration(WAConfiguration)>>#ancestorsDo:seen:
receiver = a WASharedConfiguration
arg1 = [] in WAConfiguration>>#ancestors
arg2 = IdentitySet()
WASharedConfiguration(WAConfiguration)>>#ancestors
receiver = a WASharedConfiguration
temp1 = IdentitySet()
WASharedConfiguration(WAConfiguration)>>#inheritsFrom:
receiver = a WASharedConfiguration
arg1 = a WAUserConfiguration
WAUserConfiguration>>#canAddParent:
receiver = a WAUserConfiguration
arg1 = a WASharedConfiguration
WAUserConfiguration>>#addParent:
receiver = a WAUserConfiguration
arg1 = a WASharedConfiguration
WAAdmin class>>#configureNewApplication:
receiver = WAAdmin
arg1 = a WAApplication named: 'SIPCeSLS'
temp1 = nil
WAAdmin class>>#register:asApplicationAt:
receiver = WAAdmin
arg1 = KscSIPCeSLSRoot
arg2 = 'SIPCeSLS'
temp1 = a WAApplication named: 'SIPCeSLS'
KscSIPCeSLSRoot class>>#initialize
receiver = KscSIPCeSLSRoot
[optimized] in KscSeasideSIPCeSLSApp class>>#starting
[] in Process>>#executeBlock:withArguments:
receiver = Process:35203{running,3}
arg1 = [] in KscSeasideSIPCeSLSApp class>>#starting
arg2 = ()
Process>>#executeBlock:withArguments:
receiver = Process:35203{running,3}
arg1 = [] in KscSeasideSIPCeSLSApp class>>#starting
arg2 = ()
Process>>#newProcessOn:stackSize:withArguments:named:
receiver = Process:35203{running,3}
arg1 = [] in KscSeasideSIPCeSLSApp class>>#starting
arg2 = 1024
arg3 = ()
arg4 = '35203'
Return to VA Smalltalk 7.0, 7.5 & 8.0
Users browsing this forum: Yahoo [Bot] and 1 guest