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)
{