We use some of the 1.5 concurrency stuff in several places, rather
than synchronization. Our understanding was that Retroweaver was
supposed to support that, via this library:
http://dcl.mathcs.emory.edu/php/loadPage.php?content=/util/overview.html
Are you putting the backport-util-concurrent.jar from the Retroweaver
lib directory on your app classpath at runtime? If not, try that. If
you are, then try including the backport jar on the classpath when you
weave the jar files, and then also include it on your runtime classpath
in your app. I'm not sure which is the correct approach, their docs
unfortunately don't give any specific instructions there that I can
find.
If this doesn't work, then we'd have to bug the Retroweaver people for
some advice, or else look at some of the other backporting tools, like
Retrotranslator and JBossRetro.
--Brent
Kurt Werner wrote:
Hi Brent (and Chad),
I actually had already started down
the retroweaver path, so its good to know that I was at least going in
the right direction. I weaved openSAML2.1, openWS and xmltooling,
and rebuilt and ran my webapp using those versions. My webapp now
loads successfully, but I am currently running into the following
error.
Appears the Lock class is very specific to 1.5+ and not supported
through 1.4. Would you have expected the weaving to have handled
this? It looks like the code is using syncronized methods, both weaved
and unweaved, so not sure where Lock is getting referenced.
----- Root Cause -----
java.lang.NoClassDefFoundError:
java/util/concurrent/locks/Lock
at
org.opensaml.xml.XMLConfigurator.<init>(XMLConfigurator.java:70)
at
org.opensaml.DefaultBootstrap.initializeXMLTooling(DefaultBootstrap.java:139)
at
org.opensaml.DefaultBootstrap.bootstrap(DefaultBootstrap.java:83)
-Kurt
"Brent
Putman"
05/01/2008 05:57 PM
|
To
|
|
cc
|
|
Subject
|
Re: [OpenSAML]
Running openSAML2.1 under
JDK 1.4 |
|
Just to help you out here, looks like you can do
something
like this:
1) grab the Retroweaver dist from: http://retroweaver.sourceforge.net/
2) run something like this for each 1.5 jar you want to weave (paths
assume you are in the exploded Retroweaver directory):
java
-cp
release/retroweaver-all-2.0.5.jar:lib/asm-3.1.jar:lib/asm-commons-3.1.jar:lib/asm-util-3.1.jar
net.sourceforge.retroweaver.Weaver
-jar /tmp/xmltooling-1.0.1.jar /tmp/xmltooling-1.01-weaved.jar
There's also an Ant task, you could easily make a little script to do
it. Or see our old build.xml (except that that weaved from the source,
the above operates on the compiled jar directly).
HTH,
Brent
Chad La Joie wrote:
>
>
> You can run retroweaver (or any other back-porting translation
tool)
> yourself. If it's critical I would suggest doing that. That
way you
> can then submit bugs on all the 1.5-only code was accidentally
> incorporated.
>
The information contained in this e-mail and any accompanying documents
may contain information that is confidential or otherwise protected
from disclosure. If you are not the intended recipient of this message,
or if this message has been addressed to you in error, please
immediately alert the sender by reply e-mail and then delete this
message, including any attachments. Any dissemination, distribution or
other use of the contents of this message by anyone other than the
intended recipient is strictly prohibited. All messages sent to and
from this e-mail address may be monitored as permitted by applicable
law and regulations to ensure compliance with our internal policies and
to protect our business. E-mails are not secure and cannot be
guaranteed to be error free as they can be intercepted, amended, lost
or destroyed, or contain viruses. You are deemed to have accepted these
risks if you communicate with us by e-mail.
|