You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Ignacio Ocampo <na...@gmail.com> on 2014/11/17 22:55:53 UTC
Fwd: java.protocol.handler.pkgs does not work with Tomcat 7
Hi all,
I'm using a third part library for NTLM authentication, one of their
requeriments is to set: System.setProperty("java.protocol.handler.pkgs",
"jespa");
But, it does not take any effect, I see Tomcat 7 source code here:
https://github.com/apache/tomcat70/blob/051a1dfd4c2943a8e8001c6be88d208cac72faff/java/org/apache/catalina/loader/WebappLoader.java#L561
// Register a stream handler factory for the JNDI protocol
URLStreamHandlerFactory streamHandlerFactory =
DirContextURLStreamHandlerFactory.getInstance();
if (first) {
first = false;
try {
* URL.setURLStreamHandlerFactory(streamHandlerFactory);*
} catch (Exception e) {
// Log and continue anyway, this is not critical
log.error("Error registering jndi stream handler", e);
} catch (Throwable t) {
ExceptionUtils.handleThrowable(t);
// This is likely a dual registration
log.info("Dual registration of jndi stream handler: "
+ t.getMessage());
}
}
And I see *URL.setURLStreamHandlerFactory *documentation at:
https://docs.oracle.com/javase/7/docs/api/java/net/URL.html#setURLStreamHandlerFactory(java.net.URLStreamHandlerFactory)
public static void setURLStreamHandlerFactory(URLStreamHandlerFactory
<https://docs.oracle.com/javase/7/docs/api/java/net/URLStreamHandlerFactory.html>
fac)
Sets an application's URLStreamHandlerFactory. This method can be called at
most once in a given Java Virtual Machine.
The URLStreamHandlerFactory instance is used to construct a stream protocol
handler from a protocol name.
I tried set -Djava.protocol.handler.pkgs=jespa in catalina.sh and put my
jars in jdk/lib, jdk/jre/lib, tomcat/lib, tomcat/webapps/ROOT/WEB-INF/lib,
but nothing.
I hope your comments.
Regards.
--
Ignacio Ocampo Millán