GroovyRunner initializes groovy classes only once

Description

*This issue has moved*

This issue has been moved permanently to Adaptavist's Product Support JIRA instance.

All existing users of this instance should have the same username on our Product Support instance. However, you will very likely need to click on the
Can't access your account link in order to reset to a new password.

The GroovyRunner is picking up classes and recompiles on the fly.

The drawback of course is that statics in your classes gets reinitialized over and over again.
It might be a usefull option on the groovyrunner to specify if a new classloader should
be used or if an existing classloader : reload = dynamic|static.

During development, the reload option is 'dynamic', while when in production it is 'static'.

Francis

Environment

None

Activity

Show:
Jamie Echlin
June 16, 2010, 11:23 AM

Hrm, that's interesting. Have you got an example of where the classes getting reinitialised is a bad thing?

The behaviours plugin does similar things with groovy but works differently, it caches compiled classes and reuses them. The downside is that you need to tell it when you have changed them. (I thought checking file timestamps would be rather slow). Whereas for scripts having them recompiled each time is not so much of a big deal.

In fact the behaviour of this plugin changed in various subtle ways when I changed it to use groovy's JSR-232 interface... and not all of them are good ways.

Francis Martens (iDalko)
June 16, 2010, 12:21 PM

There are pro and cons - that's true.

A use case:

If your classes needs to initialize using a number of property files, it would be handy
that this is done only once.

Having the option to reload the scripts (or not) would help.

Francis

Assignee

Jamie Echlin

Reporter

Francis Martens (iDalko)

Labels

None

Internal Complexity

Unknown

Internal Value

Unknown

Priority

Major
Configure