User: stark   
  Date: 01/02/27 13:13:22

  Modified:    src/main/org/jboss/deployment J2eeDeployer.java
  Log:
  The last patch to deploy all ejbs in an ear as a unit changed the
  notion of the current Deployment.Module. This was causing an NPE if
  an ejb failed to deploy. Changed the exception logging to not
  rely on a Deployment.Module.
  
  Revision  Changes    Path
  1.20      +17 -11    jboss/src/main/org/jboss/deployment/J2eeDeployer.java
  
  Index: J2eeDeployer.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/deployment/J2eeDeployer.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- J2eeDeployer.java 2001/02/21 06:19:24     1.19
  +++ J2eeDeployer.java 2001/02/27 21:13:22     1.20
  @@ -65,7 +65,7 @@
   *  (ContainerFactory for JBoss and EmbededTomcatService for Tomcat).
   *
   *   @author <a href="mailto:[EMAIL PROTECTED]">Daniel Schulze</a>
  -*   @version $Revision: 1.19 $
  +*   @version $Revision: 1.20 $
   */
   public class J2eeDeployer 
   extends ServiceMBeanSupport
  @@ -396,6 +396,7 @@
   
         // redirect all modules to the responsible deployers
         Deployment.Module m = null;
  +      String moduleName = null;
         String message;
         try
         {
  @@ -408,9 +409,9 @@
            while (it.hasNext ())
            {
               m = (Deployment.Module)it.next ();
  +            moduleName = m.name;
  +            log.log ("Starting module " + moduleName);
               
  -            log.log ("Starting module " + m.name);
  -            
               // Call the TomcatDeployer that is loaded in the JMX server
               server.invoke(warDeployer, "deploy",
                  new Object[] { m.webContext, m.localUrls.firstElement().toString 
()}, new String[] { "java.lang.String", "java.lang.String" });
  @@ -421,30 +422,35 @@
   
            // JBoss
            // gather the ejb module urls and deploy the application
  +         moduleName = _d.name;
            Vector tmp = new java.util.Vector();
            for( it = _d.ejbModules.iterator(); it.hasNext(); )
  -            tmp.add( ((Deployment.Module) 
it.next()).localUrls.firstElement().toString() );
  +         {
  +             m = (Deployment.Module) it.next();
  +             tmp.add( m.localUrls.firstElement().toString() );
  +         }
            String[] jarUrls = new String[ tmp.size() ];
            tmp.toArray( jarUrls );
            // Call the ContainerFactory that is loaded in the JMX server
            server.invoke(jarDeployer, "deploy",
               new Object[]{ _d.localUrl.toString(), jarUrls }, new String[]{ 
String.class.getName(), String[].class.getName() } );
  -      }
  +      }
         catch (MBeanException _mbe)
         {
  -         log.error ("Starting "+m.name+" failed!");
  -         throw new J2eeDeploymentException ("Error while starting "+m.name+": " + 
_mbe.getTargetException ().getMessage (), _mbe.getTargetException ());
  +         log.error ("Starting "+moduleName+" failed!");
  +         throw new J2eeDeploymentException ("Error while starting "+moduleName+": " 
+ _mbe.getTargetException ().getMessage (), _mbe.getTargetException ());
         }
         catch (RuntimeErrorException e)
         {
  -         log.error ("Starting "+m.name+" failed!");
  -         throw new J2eeDeploymentException ("Error while starting "+m.name+": " + 
e.getTargetError ().getMessage (), e.getTargetError ());
  +         log.error ("Starting "+moduleName+" failed!");
  +         e.getTargetError().printStackTrace();
  +         throw new J2eeDeploymentException ("Error while starting "+moduleName+": " 
+ e.getTargetError ().getMessage (), e.getTargetError ());
         }
         catch (RuntimeMBeanException e)
         {
  -         log.error ("Starting "+m.name+" failed!");
  +         log.error ("Starting "+moduleName+" failed!");
            e.getTargetException ().printStackTrace();
  -         throw new J2eeDeploymentException ("Error while starting "+m.name+": " + 
e.getTargetException ().getMessage (), e.getTargetException ());
  +         throw new J2eeDeploymentException ("Error while starting "+moduleName+": " 
+ e.getTargetException ().getMessage (), e.getTargetException ());
         }
         catch (JMException _jme)
         {
  
  
  

Reply via email to