Announcement Announcement Module
No announcement yet.
GGTS 3.2 Consoles not terminating with Grails 2.2.1 Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • GGTS 3.2 Consoles not terminating with Grails 2.2.1

    I have 2 projects, 204 on Grails 2.0.4, and 221 on Grails 2.2.1.

    When I run a Grails Command on 204, i.e. clean, I see what I'm used to seeing. The command runs, a RED stop button appears along with X buttons to remove terminated consoles. The command finishes and the console reports terminated with a timestamp, etc.

    After switching compilers and trying the same thing on 221, the command runs but the RED stop button and the cleanup buttons don not appear. The command finishes but the console no longer reports anything about termination and the console it ran hangs around until I restart GGTS. This is pretty annoying as I can't tell when a command has actually finished.

    This may be just an annoyance but it may have caused me some difficulty when I was trying to upgrade the 204 app to 221. I was trying to update some dependencies and I launched Grails Tools/Refresh Dependencies (which behaves like the other commands as opposed to the Run As commands), saw something was wrong and tried to cancel it. The refresh command never really canceled and was preventing me from doing anything else, including saving a file or closing the project. Other operations were queued up behind it and not getting processed. I was writing up a post about this when it seemingly timed out and returned control to me and I was able to resume the upgrade. that may be an entirely separate issue but it's making me nervous about the upgrade and a new project I'm starting.

    FYI, I am running GGTS 3.2 which was upgraded from 3.1.

  • #2
    Hi kktec, this is probably related to a new mechanism to execute multiple Grails commands through a single external process.
    I.e. GGTS now tries to 'reuse' the external Grails process to execute more than one command if possible. This so commands would execute a bit faster by eliminating some startup costs. This mechanism is only activated for more recent versions of Grails. So that may explain why you don't get this for Grails 2.0.4 but you do for Grails 2.2.1.

    The change in how commands get executed means that a 'command execution' isn't really a process in itself anymore but more of client-side Job waiting for the external process to do its thing and then 'call back'.

    My guess would be that cancelation with the stop button isn't quite working the way its supposed or used to.

    I'll raise a bug for that and investigate deeper.

    If this really annoys you, which I imagine it would, you can still go back to the old command execution infrastructure.
    Just go to "Windows >> Preferences >> Grails >> Grails Launch" and then disable the "Keep External Grails Running" option.


    • #3
      I raised the issue here:


      • #4
        Disabling the "Keep External Grails Running" option did the job for me ;=)



        • #5
          Thanks for confirming that.



          • #6
            I've pushed something to the repo just a few minutes ago that adds a 'stop' button to the console for Grails 2.2 when using 'long running process' execution mechanics.

            If you want to give it a try it should be available from the nightly update site probably later today.


            Unfortunately it is a bit of work as I can't directly use the Eclipse process console UI since the commands aren't really 'processes' anymore.

            So I just implemented a 'stop button' that looks and behaves more or less the same.

            I'm also thinking of doing a similar 'copy-cat' functionality for X buttons to remove terminated commands but haven't done those yet.

            Of course you are most welcome to keep using the release with the workaround as well. I just thought I let you know that there is a fix if you want it. (And it would be nice for me if you could confirm that it works for you :-)