Am Montag, 27. Mai 2002 12:14 schrieben Sie:
.....
yes html-mail is not a good idea - anyway an answer:

JBoss3RCx has introduced a new Classloader mechanism. This influenced loading 
url protocol handler classes.
So DirContextHandler of Catalina will not be loaded and the url protocol 
jndi: is not working. (in fact it is more complicated...)
Its not visible in stacktrace in your mail, but it seems to be this problem.

There should be an Malformed url exception: could not load url handler for 
protocol jndi:

NOTE: this is true for embedded Catalina only.

What i done is a hack.
it registers the missing protocol in embedded catalina.
it does some other hackisch stuff...

Appended is a patch against rc3 code of jboss3. you have to compile this 
beast - its not an easy job for normal cocoon users.

I sent this patch  to jboss too. maybe somebody reviews that and its in the 
next release. Request-ID is 561405.


Claas Thiele

-- 
Technological Strategy
VIRBUS AG 
Fon +49(0)341-979-7430 
Fax +49(0)341-979-7409 
[EMAIL PROTECTED] 
www.virbus.de
diff -rbBNU 3 /usr/local/devres/JBOSS/jboss-3.0.0RC2/src/jboss-all/catalina/build.xml jboss-all3.0.0RC2/catalina/build.xml
--- /usr/local/devres/JBOSS/jboss-3.0.0RC2/src/jboss-all/catalina/build.xml	Fri Apr 26 18:37:33 2002
+++ jboss-all3.0.0RC2/catalina/build.xml	Tue May 14 14:02:33 2002
@@ -146,6 +146,7 @@
     <path id="tomcat.server.classpath">
       <pathelement path="${tomcat.server.root}/bin/bootstrap.jar"/>
       <pathelement path="${tomcat.server.root}/common/lib/servlet.jar"/>
+      <pathelement path="${tomcat.server.root}/common/lib/naming-resources.jar"/>
       <pathelement path="${tomcat.server.root}/server/lib/catalina.jar"/>
       <pathelement path="${tomcat.server.root}/server/lib/warp.jar"/>
     </path>
diff -rbBNU 3 /usr/local/devres/JBOSS/jboss-3.0.0RC2/src/jboss-all/catalina/src/main/org/jboss/web/catalina/EmbeddedCatalinaServiceSX.java jboss-all3.0.0RC2/catalina/src/main/org/jboss/web/catalina/EmbeddedCatalinaServiceSX.java
--- /usr/local/devres/JBOSS/jboss-3.0.0RC2/src/jboss-all/catalina/src/main/org/jboss/web/catalina/EmbeddedCatalinaServiceSX.java	Fri Apr 26 08:31:06 2002
+++ jboss-all3.0.0RC2/catalina/src/main/org/jboss/web/catalina/EmbeddedCatalinaServiceSX.java	Tue May 14 16:51:58 2002
@@ -94,6 +94,8 @@
     */
    private boolean useParentDelegation = true;
 
+   private String contextDir = null;
+
    public EmbeddedCatalinaServiceSX()
    {
    }
@@ -146,10 +148,30 @@
       this.extendedConfig = config;
    }
 
+   public String getContextDir()
+   {
+      return this.contextDir;
+   }
+   public void setContextDir(String contextDir)
+   {
+      this.contextDir = contextDir;
+   }
+
    public void startService() throws Exception
    {
       super.startService();
 
+      //registerurl handler for jndi protocol
+      String handlerPkgs = System.getProperty("java.protocol.handler.pkgs");
+      if (handlerPkgs != null) {
+         handlerPkgs += "|org.jboss.web.catalina.net";
+      }
+      else {
+         handlerPkgs = "org.jboss.web.catalina.net";
+      }
+      System.setProperty("java.protocol.handler.pkgs", handlerPkgs);
+      
+      
       // Start create the embeded catalina container but don't let it overwrite the thread class loader
       ClassLoader cl = Thread.currentThread().getContextClassLoader();
       ClassLoader parent = cl;
@@ -218,7 +240,12 @@
       }
       log.info("deploy, ctxPath="+ctxPath+", warUrl="+warUrl);
 
-      URL url = new URL(warUrl);
+      URL url = null;
+      if (contextDir != null) {
+         File cDir = new File(contextDir);
+         url = cDir.toURL();
+      } else {
+          url = new URL(warUrl);
       // Catalina needs a war in a dir so extract the nested war
       if( url.getProtocol().equals("njar") )
       {
@@ -234,6 +261,7 @@
          warStream.close();
          log.debug("Unpacked war into dir: "+warDir);
          url = warDir.toURL();
+          }
       }
       createWebContext(appInfo, url, webAppParser);
       log.debug("Initialized: "+appInfo);
diff -rbBNU 3 /usr/local/devres/JBOSS/jboss-3.0.0RC2/src/jboss-all/catalina/src/main/org/jboss/web/catalina/EmbeddedCatalinaServiceSXMBean.java jboss-all3.0.0RC2/catalina/src/main/org/jboss/web/catalina/EmbeddedCatalinaServiceSXMBean.java
--- /usr/local/devres/JBOSS/jboss-3.0.0RC2/src/jboss-all/catalina/src/main/org/jboss/web/catalina/EmbeddedCatalinaServiceSXMBean.java	Fri Apr 26 08:31:06 2002
+++ jboss-all3.0.0RC2/catalina/src/main/org/jboss/web/catalina/EmbeddedCatalinaServiceSXMBean.java	Tue May 14 16:49:16 2002
@@ -53,4 +53,7 @@
     rather than the servlet 2.3 load from war first model
     */
    public void setJava2ClassLoadingCompliance(boolean compliance);
+
+    public void setContextDir(String contextDir);
+    public String getContextDir();
 }
diff -rbBNU 3 /usr/local/devres/JBOSS/jboss-3.0.0RC2/src/jboss-all/catalina/src/main/org/jboss/web/catalina/net/jndi/Handler.java jboss-all3.0.0RC2/catalina/src/main/org/jboss/web/catalina/net/jndi/Handler.java
--- /usr/local/devres/JBOSS/jboss-3.0.0RC2/src/jboss-all/catalina/src/main/org/jboss/web/catalina/net/jndi/Handler.java	Thu Jan  1 01:00:00 1970
+++ jboss-all3.0.0RC2/catalina/src/main/org/jboss/web/catalina/net/jndi/Handler.java	Tue May 14 10:25:50 2002
@@ -0,0 +1,21 @@
+/*
+ * Handler.java
+ *
+ * Created on 14. Mai 2002, 10:20
+ */
+
+package org.jboss.web.catalina.net.jndi;
+
+import org.apache.naming.resources.DirContextURLStreamHandler;
+
+/**
+ *
+ * @author  cthiele
+ */
+public class Handler extends DirContextURLStreamHandler {
+    
+    /** Creates a new instance of Handler */
+    public Handler() {
+    }
+    
+}
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail: <[EMAIL PROTECTED]>

Reply via email to