[GemStone-Smalltalk] 2 Rookie Requests for GemStone/S approaches

Richard Sargent richard.sargent at gemtalksystems.com
Mon May 22 20:14:28 PDT 2023


Comments inline below.

On Mon, May 22, 2023, 18:53 Greg Spehar via GemStone-Smalltalk <
gemstone-smalltalk at lists.gemtalksystems.com> wrote:

> GemStone Smalltalk Team,
>
> Apologies for this request, I am building out a new system that will run
> on top of GS/S.
> I have run into two items that I was hoping to better understand:
>
> 1) Class Structure in GemStone/S
> 2) Use of GsProcess
>
> #1 - Class Structure
>
> It would seem that I am not able to create a Subclass of a Class that I
> created. An example would be Object -> BaseObject -> Account.
> The BaseObject will hold a number of management items (DateCreated, UUID,
> DateModified, etc.) that I want for all of my Operational Objects
> (Accounts, Networks, Transactions, etc.).
> But for the life of me the GemStone/S product will not allow me to do the
> third level. I am not able to SubClass from BaseObject.
> (I am sure it is something that I am not doing right, I am able to
> Subclass from Object no problem) Could this be because I am using the
> Community Edition?
> Any recommendation would be great. At the moment I am stuffing an instance
> of the BaseClass into my object (Account) which is not ideal...
>

GemStone uses the same kind of class creation expression common to most, if
not all, Smalltalk implementations.

There are no limitations like that in the community edition. Show us what
you have tried.


> #2 - Use of GsProcess
>
> Does someone have a good paper on the use of GsProcess? I am looking to
> have it run in a separate Gem on a timer clearing a bucket of Log Entries
> from my system.
> I have been able to setup the Log levels and get all that working, but
> when I launch the GsProcess and put a timer in there, it just sits there.
> And of course if I do an Abort or Commit, it complains or the Process
> disappears.
> Additionally, I am concerned about just dropping it on the floor and
> creating too many of these active sessions. (I suspect it will eventually
> destabilize the image.)
> So anyway, it should sit there and just run every 5 min, looking at the Rc
> Collection and doing it’s thing dumping the contents to the log file
> location I created… And ending gracefully once I tell it to shut down...
>

GsProcess is not a good choice. The scheduler only runs processes in the
gem while a request from the client is running.

Your description suggests GsExternalProcess would be the correct choice.
I'm typing on my phone, so the exact class name may be slightly different
than that. I've used that technique extensively for parallel work
processing.


> I know these are rookie questions… but have hit a wall on figuring it out.
> (Even ChatGPT has no idea what to do…)
>
> Regards,
> *Greg Spehar, MBA, PMP, ACP, DASM*
> *Senior Program Manager*
>
> -------------------------------------------------------------------------------------------------------
> *P:* 503.332.3663
> *E:  *spehargreg at gmail.com
> *W: *http://www.linkedin.com/in/spehargreg
> <http://www.linkedin.com/in/spehar>
> *T:* @spehargreg
> *C:* https://calendly.com/spehargreg/30-minute-meeting-connect
>
> _______________________________________________
> GemStone-Smalltalk mailing list
> GemStone-Smalltalk at lists.gemtalksystems.com
> https://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/archives/gemstone-smalltalk/attachments/20230522/ab64488b/attachment.htm>


More information about the GemStone-Smalltalk mailing list