-
-
Notifications
You must be signed in to change notification settings - Fork 925
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
deprecate JRubyClassLoader#tearDown in favor of close() (we're Closab…
…le on Java 7+)
- 9.4.12.0
- 9.4.11.0
- 9.4.10.0
- 9.4.9.0
- 9.4.8.0
- 9.4.7.0
- 9.4.6.0
- 9.4.5.0
- 9.4.4.0
- 9.4.3.0
- 9.4.2.0
- 9.4.1.0
- 9.4.0.0
- 9.3.15.0
- 9.3.14.0
- 9.3.13.0
- 9.3.12.0
- 9.3.11.0
- 9.3.10.0
- 9.3.9.0
- 9.3.8.0
- 9.3.7.0
- 9.3.6.0
- 9.3.5.0
- 9.3.4.0
- 9.3.3.0
- 9.3.2.0
- 9.3.1.0
- 9.3.0.0
- 9.2.21.0
- 9.2.20.1
- 9.2.20.0
- 9.2.19.0
- 9.2.18.0
- 9.2.17.0
- 9.2.16.0
- 9.2.15.0
- 9.2.14.0
- 9.2.13.0
- 9.2.12.0
- 9.2.11.1
- 9.2.11.0
- 9.2.10.0
- 9.2.9.0
- 9.2.8.0
- 9.2.7.0
- 9.2.6.0
- 9.2.5.0
- 9.2.4.1
- 9.2.4.0
- 9.2.3.0
- 9.2.2.0
- 9.2.1.0
- 9.2.0.0
- 9.1.17.0
- 9.1.16.0
- 9.1.15.0
- 9.1.14.0
- 9.1.13.0
- 9.1.12.0
- 9.1.11.0
- 9.1.10.0
- 9.1.9.0
- 9.1.8.0
- 9.1.7.0
- 9.1.6.0
- 9.1.5.0
- 9.1.4.0
- 9.1.3.0
- 9.1.2.0
- 9.1.1.0
- 9.1.0.0
- 9.0.5.0
- 9.0.4.0
- 9.0.3.0
- 9.0.1.0
Showing
4 changed files
with
18 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
aaa4687
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't this commit and the related ones before it effectively revert e3f84a0? Which means they'll break ruby processing and various other java integration uses again?
aaa4687
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kares wanted to get to this but this is essentially the same as I did before and we needed to revert this last week (before the 9k release) with e3f84a0
the reason is that it broke some use cases (swing, ruby processing, etc) - never completely understood why the runtime gets used after the teardown (maybe @bbrowning or @enebo can explain more details here). the close class loader on when terminate the ScriptingContainer yes (unless it is a Singleton runtime) but on the CLI we need keep the class loader intact.
there are at least two issues referenced in the about commit which have two use cases where the close on the JRubyClassLoader did produce failures. @bbrowning had another one.
aaa4687
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mkristian yy - thanks I know, @bbrowning explained this to me (missed the reported issues), working on it!
aaa4687
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
following up, I feel like I got it right this time but please review :
this needed a revert on jruby-1_7 as well :
merged this to master at e840a7d#diff-a40568b9da02963919222c8b1eb53774R3309 ... in a way that the runtime's
Ruby#tearDown()
no longer doesJRubyClassLoader#tearDown(boolean)
at all since its now deprecated and replaced (backwards-compatibly) withJRubyClassLoader#close
. mostly due the fact that having 2 "release" methods is somehow confusing (and actually unnecessary) - thetearDown
was kind of bad design with thatboolean debug
param part of the API.also, the original JRuby class-loader tear-down attempted to release loaded JDBC drivers but the thing is (looking at issues such as #3149) that if a driver was loaded from Ruby it might still be used (as well) in those threads that keep using classes loaded by the class-loader
we're also now supporting a
releaseClassLoader
method on the runtime so users can easily do so