[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[patch #1833] [Patch #1833] make NamingManager handle nested names for J
From: |
noreply |
Subject: |
[patch #1833] [Patch #1833] make NamingManager handle nested names for JBoss |
Date: |
Sat, 25 Oct 2003 09:27:44 -0400 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20031010 Galeon/1.3.9 |
Patch #1833 has been updated.
Project:
Category: None
Status: Closed
Summary: make NamingManager handle nested names for JBoss
Follow-Ups:
Date: Sun 09/07/03 at 23:22
By: mark
Comment:
Other jndi code uses the Thread context ClassLoader.
And documentation like the following tutorial also indicates that should be
used in 1.2 like environments.
So I suggest to change the patch as follows:
diff -u -r1.3 NamingManager.java
--- javax/naming/spi/NamingManager.java 13 Jul 2003 23:34:19 -0000 1.3
+++ javax/naming/spi/NamingManager.java 7 Sep 2003 21:19:56 -0000
@@ -231,7 +231,10 @@
if (fClass != null)
{
// Exceptions here are passed to the caller.
- Class k = Class.forName (fClass);
+ ClassLoader c = Thread.currentThread().getContextClassLoader();
+ Class k = (c == null)
+ ? Class.forName(fClass)
+ : Class.forName(fClass, true, c);
factory = (ObjectFactory) k.newInstance ();
}
else
@@ -318,14 +321,19 @@
// It is really unclear to me if this is right.
try
{
- Object obj = getObjectInstance (null, cpe.getAltName (),
- cpe.getAltNameCtx (), env);
+ Object obj = getObjectInstance (cpe.getResolvedObj(),
+ cpe.getAltName (),
+ cpe.getAltNameCtx (),
+ env);
if (obj != null)
return (Context) obj;
}
catch (Exception _)
{
}
+
+ // fix stack trace for re-thrown exception (message confusing otherwise)
+ cpe.fillInStackTrace();
throw cpe;
}
Does that work in your situation?
-------------------------------------------------------
Date: Sun 09/07/03 at 23:24
By: mark
Comment:
I meant this tutorial:
http://java.sun.com/products/jndi/tutorial/beyond/misc/classloader.html
-------------------------------------------------------
Date: Fri 10/24/03 at 17:21
By: robilad
Comment:
Hunk 3 was bad, and is no longer necessary since the fix from me and Helmer
Kraemer has been checked in:
2003-09-13 Dalibor Topic <address@hidden>,
Helmer Kraemer <address@hidden>
* javax/naming/spi/NamingManager.java (getURLContext,
getObjectInstance, getStateToBind): Always use current thread's
context class loader when calling Class.forName.
Hunks 1 and 2 are only useful in conjuction with hunk 3, so they don't need to
be applied as well. The security field declared in hunk 2 is only used in hunk
3. Accordingly the imports from hunk 1 are only useful for hunk 2.
Cutting that cruft away, this leaves us with the remaining hunks in the patch.
They clean up getContinuationContext a little bit and fix a bug in exception
throwing. Looks reasonable to me.
A ChangeLog would have been nice ;)
-------------------------------------------------------
Date: Sat 10/25/03 at 15:27
By: mark
Comment:
Remaining patch applied as follows:
2003-10-24 Julian Dolby <address@hidden>
* javax/naming/spi/NamingManager.java (getContinuationContext): Call
getObjectInstance() with Object, Name, Context and environment
Hashtable from exception. Call fillInStackTrace() on exception when
rethrown.
-------------------------------------------------------
-------------------------------------------------------
For more info, visit:
http://savannah.gnu.org/patch/?func=detailpatch&patch_id=1833&group_id=85
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/