• If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Announcement

Collapse
No announcement yet.

Activation Groups

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Activation Groups

    1) How does Valence 3.0 (RPG Toolkit - vvCall???) handle activation groups?
    2) What activation group should we use in our programs that return values to Valence 3.0?

    Thanks.

  • #2
    All Valence core programs, including vvCall, run in the VALENCE activation group. For the most part all your custom back-end IBM i programs can run in whatever activation group you want. If you set them to use *CALLER then they'll all run in VALENCE as well.

    The only issue to consider is that any programs you have using VVUPLOAD should definitely use the VALENCE activation group because of shared pointers that are defined within Valence programs.

    Comment


    • #3
      What I hear you saying is, we should be using VALENCE ag for all our programs (since it is recommended for some). If you call a program frequently the *NEW ag is a performance drag, especially if the number of users begins to increase (and who doesn't plan for that!). So, this leads me to my next question: If programmers begin to use VALENCE ag and they are not cleaning up their "messes", then VALENCE becomes "cluttered". So, how are you guys "managing" the VALENCE ag (basically reclaiming/clearing... it)?

      Comment


      • #4
        I certainly wouldn't recommend *NEW for the activation group. When Rob said you can use any activation group you want, he meant any "named" activation group. As long as you use VALENCE or some other named activation group you should be fine. For performance reasons we don't "reclaim/clear" the VALENCE activation group. You want the static memory variables and file handles to persist between calls or the programs would be much slower. You can reclaim you own named activation groups if you want, but with Valence apps, even large ones, I have never seen this to be necessary or a problem.

        Comment


        • #5
          Yes, I think we are on the same page. My only concern is that if non-cnxcorp programmers start using VALENCE, then, being unsure of their experience level, you may have files stay open for months, even though it was used once, 6 months ago. I am sure your programmers have the skill necessary to keep VALENCE ag clean, just not sure about "other" programmers. It certainly makes sense to use VALENCE ag (all my programs use *CALLER and I am done), if you know what you are doing. Let's say, hypothetically, that VALENCE ag needs to be reclaimed, would restarting the VALENCE http server instance reclaim it...? or how would you do so?

          Comment


          • #6
            Yes, using named activation groups or *CALLER is typically the best way to go. For those who aren't completely clear on the concept of activation groups, a good quick read on this topic can be found at IT Jungle.

            We've got plenty of Valence installations that go for months without ever needing to restart their server instance or reclaim the activation groups. But to answer your question, yes, restarting the Valence server instance ends each of the CGI jobs serving Valence programs and therefore would accomplish the reclamation of each job's VALENCE activation group (and any other activation groups open in the jobs). As of Valence 2.2 you can use the VVSTART command to restart the Valence server instance, or you could just issue this command:

            STRTCPSVR SERVER(*HTTP) RESTART(*HTTP) HTTPSVR(VALENCE30)

            Comment

            Working...
            X