I have a very simple WAR file that I'm trying to deploy on JBoss 5.0.0.Beta3.

I'm using:
* Java VM: Java HotSpot(TM) Server VM 1.6.0_03-b05,Sun Microsystems Inc.
* OS-System: Windows XP 5.1,x86
I am using the -Dsun.lang.ClassLoader.allowArraySyntax=true option for the JVM 
for Java 6 with JBoss 5 as described in JBAS-4491.

Intermittently, when I deploy the WAR file, I get a NullPointerException in 
org.jboss.virtual.VFSUtils.readManifest():


  | 2008-01-24 18:48:53,624 DEBUG 
[org.jboss.deployers.plugins.main.MainDeployerImpl] Add deployment: 
vfsfile:/C:/java/jboss/jboss-5.0.0.Beta3/server/orgmob/deploy/orgmobilist.war
  | 2008-01-24 18:48:53,624 DEBUG 
[org.jboss.deployers.plugins.main.MainDeployerImpl] Removing previous 
deployment: 
vfsfile:/C:/java/jboss/jboss-5.0.0.Beta3/server/orgmob/deploy/orgmobilist.war
  | 2008-01-24 18:48:53,624 DEBUG 
[org.jboss.deployers.plugins.main.MainDeployerImpl] Scheduling undeployment: 
vfsfile:/C:/java/jboss/jboss-5.0.0.Beta3/server/orgmob/deploy/orgmobilist.war 
parent=null
  | 2008-01-24 18:48:53,624 WARN  
[org.jboss.system.server.profileservice.hotdeploy.HDScanner] Scan failed
  | org.jboss.deployers.spi.DeploymentException: Error populating deployment 
vfsfile:/C:/java/jboss/jboss-5.0.0.Beta3/server/orgmob/deploy/orgmobilist.war
  |     at 
org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49)
  |     at 
org.jboss.deployers.structure.spi.helpers.AbstractStructureBuilder.populateContext(AbstractStructureBuilder.java:77)
  |     at 
org.jboss.deployers.structure.spi.helpers.AbstractStructuralDeployers.determineStructure(AbstractStructuralDeployers.java:89)
  |     at 
org.jboss.deployers.plugins.main.MainDeployerImpl.determineStructure(MainDeployerImpl.java:743)
  |     at 
org.jboss.deployers.plugins.main.MainDeployerImpl.addDeployment(MainDeployerImpl.java:280)
  |     at 
org.jboss.deployers.plugins.main.MainDeployerImpl.addDeployment(MainDeployerImpl.java:237)
  |     at 
org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:270)
  |     at 
org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:221)
  |     at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
  |     at 
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
  |     at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
  |     at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
  |     at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
  |     at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
  |     at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
  |     at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
  |     at java.lang.Thread.run(Thread.java:619)
  | Caused by: java.lang.NullPointerException
  |     at org.jboss.virtual.VFSUtils.readManifest(VFSUtils.java:208)
  |     at org.jboss.virtual.VFSUtils.getManifest(VFSUtils.java:187)
  |     at org.jboss.virtual.VFSUtils.addManifestLocations(VFSUtils.java:106)
  |     at 
org.jboss.deployers.vfs.plugins.structure.VFSStructureBuilder.applyContextInfo(VFSStructureBuilder.java:155)
  |     at 
org.jboss.deployers.structure.spi.helpers.AbstractStructureBuilder.populateContext(AbstractStructureBuilder.java:73)
  |     ... 15 more
  | 

Sometimes it works without complaint.  I haven't been able to figure out 
exactly which conditions tickle this.  I had suspicions that it might have to 
do with whether it was a hot deploy or on the existence of the properties file, 
but I wasn't able to prove it consistently.  It did seem that if there was 
previously no properties file and I then did a hot deploy with a properties 
file, then I got the exception.  I was able to deploy successfully to 4.2.2.GA. 
 The structure of the WAR is:


  | META-INF/
  | META-INF/MANIFEST.MF
  | WEB-INF/
  | WEB-INF/web.xml
  | WEB-INF/classes/
  | WEB-INF/classes/com/
  | WEB-INF/classes/com/orgmob/
  | WEB-INF/classes/com/orgmob/orgmobilist/
  | WEB-INF/classes/com/orgmob/orgmobilist/server/
  | WEB-INF/classes/com/orgmob/orgmobilist/orgmob.properties
  | WEB-INF/classes/com/orgmob/orgmobilist/server/FooServlet.class
  | 

The manifest is:

  | Manifest-Version: 1.0
  | Ant-Version: Apache Ant 1.7.0
  | Created-By: 1.6.0_03-b05 (Sun Microsystems Inc.)
  | 
  | 
  | 

The web.xml file is:

  | <?xml version="1.0" encoding="UTF-8"?>
  | <web-app xmlns="http://java.sun.com/xml/ns/javaee";
  |     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  |     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
  |     version="2.5">
  |     
  |     <servlet>
  |             <servlet-name>foo</servlet-name>
  |             
<servlet-class>com.orgmob.orgmobilist.server.FooServlet</servlet-class>
  |     </servlet>
  |     
  |     <servlet-mapping>
  |             <servlet-name>foo</servlet-name>
  |             <url-pattern>/foo</url-pattern>
  |     </servlet-mapping>
  | 
  | </web-app>
  | 

The servlet code is:

  | package com.orgmob.orgmobilist.server;
  | 
  | import java.io.IOException;
  | import java.io.PrintWriter;
  | import javax.servlet.ServletException;
  | import javax.servlet.http.HttpServlet;
  | import javax.servlet.http.HttpServletRequest;
  | import javax.servlet.http.HttpServletResponse;
  | 
  | public class FooServlet extends HttpServlet {
  |     
  |     private static final long serialVersionUID = 1L;
  |     
  |     private void doGetPost(HttpServletRequest req, HttpServletResponse resp)
  |         throws ServletException, IOException {
  |     String userid = req.getParameter("userid");
  |     resp.setContentType("text/html");
  |     resp.setCharacterEncoding("UTF-8");
  |     PrintWriter pw = resp.getWriter();
  |     pw.println("<html>");
  |     pw.println(" <head>");
  |     pw.println("  <title>foo servlet</title>");
  |     pw.println(" </head>");
  |     pw.println(" <body>");
  |     pw.println("  <p>userid: ");
  |     pw.println(userid);
  |     pw.println("  </p>");
  |     pw.println("  <p>");
  |     pw.println("  </p>");
  |     pw.println(" </body>");
  |     pw.println("</html>");
  |     pw.flush();
  |     pw.close();
  |     resp.setStatus(HttpServletResponse.SC_OK);
  |     }
  |     
  |     @Override
  |     public void doGet(HttpServletRequest req, HttpServletResponse resp)
  |         throws ServletException, IOException {
  |     doGetPost(req,resp);
  |     }
  | 
  |     @Override
  |     public void doPost(HttpServletRequest req, HttpServletResponse resp)
  |         throws ServletException, IOException {
  |     doGetPost(req,resp);
  |     }
  | }
  | 

The properties file is:

  | # orgmob
  | # Copyright 2007-2008 David B. Bernstein
  | 
  | # major.minor.patch versioning scheme for orgmob
  | orgmob.major.version=0
  | orgmob.minor.version=0
  | orgmob.patch.version=0
  | 
  | #
  | orgmob.copyright.year=2007-2008
  | 

Apologies in advance if there's an obvious problem, a missed bug, or a missed 
post.

Thanks.


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4123306#4123306

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4123306
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to