bineanzhou / google-guice

Automatically exported from code.google.com/p/google-guice
Apache License 2.0
0 stars 0 forks source link

Reopen issue #90 as the suggested patch works... #117

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I checked out the lastest release of guice from subversion and applied
above patch (in issue #90). 

Then I retrotranslated the resulting guice-snapshot.jar successfully with
no errors or warnings.

I did load of tests using raw datatypes, custom providers, using @Named,
@ImplementedBy, checking cglib, own modules etc.

> Quick question -- is this issue really the only thing preventing 
> guice from being retrotranslatable and usable in 1.4?  I'll be blown 
> away if so.

So you should be blown away now :-)

Everything runs smoothly when simply applying this tiny little patch. So
please apply this tiny little patch and unlucky people still being locked
into java 1.4 for whatever reasons can at least have some real fun with
guice :-)

Also this could significantly increase the number of active guice users :-))

Original issue reported on code.google.com by pete4...@gmail.com on 21 Jun 2007 at 2:11

GoogleCodeExporter commented 9 years ago
1.4 compatibility is just too difficult to enforce. It means anyone working on 
Guice would need Java 1.4 SDKs 
and the retrotranslator kit.

Things like Guice AOP that do runtime bytecode manipulation are extremely 
difficult to do right on a 1.4 
platform, especially since those classes need 1.5 constructs to be available 
such as annotations and generic 
types.

Another big problem with Java 1.4 is the broken memory model. Guice relies on 
the fixes to the JVM to 
provide high-performance, and correct double checked locking. Things might 
appear to work on 1.4, but 
occasionally two threads could end up creating two copies of a singleton.

The effort to support 1.4 would be much better spent upgrading your ancient 
libraries. If you absolutely need 
1.4 support, you have my endorsement to maintain and publish a set of patches.

Original comment by limpbizkit on 14 May 2008 at 4:24