1 23 24 37 package com.sun.enterprise.server; 38 39 import java.io.File ; 40 41 import com.sun.enterprise.util.io.FileUtils; 42 import com.sun.enterprise.instance.InstanceEnvironment; 43 import com.sun.enterprise.deployment.backend.DeploymentRequest; 44 import com.sun.enterprise.deployment.backend.DeploymentCommand; 45 import com.sun.enterprise.deployment.backend.DeployableObjectType; 46 import com.sun.enterprise.deployment.backend.Deployer; 47 import com.sun.enterprise.deployment.backend.DeployerFactory; 48 import com.sun.enterprise.deployment.backend.IASDeploymentException; 49 50 import java.util.logging.Level ; 51 import java.util.logging.Logger ; 52 import com.sun.logging.LogDomains; 53 54 62 class AutoDeployer implements MonitorListener { 63 64 65 static Logger _logger=LogDomains.getLogger(LogDomains.CORE_LOGGER); 66 67 69 76 public boolean reload(MonitorableEntry entry) { 77 return false; 78 } 79 80 88 public boolean deploy(MonitorableEntry entry, File archive) { 89 90 boolean status = false; 91 92 try { 93 DeploymentRequest req = deploy(archive); 94 95 97 99 101 status = true; 102 } catch (IASDeploymentException de) { 103 _logger.log(Level.WARNING, "core.exception", de); 104 status = false; 105 } 106 107 return status; 108 } 109 110 112 121 private DeploymentRequest deploy(File archive) 122 throws IASDeploymentException { 123 124 InstanceEnvironment env = 126 ApplicationServer.getServerContext().getInstanceEnvironment(); 127 128 DeployableObjectType type = null; 130 if ( FileUtils.isEar(archive) ) { 131 type = DeployableObjectType.APP; 132 } else if ( FileUtils.isJar(archive) ) { 133 type = DeployableObjectType.EJB; 134 } else if ( FileUtils.isWar(archive) ) { 135 type = DeployableObjectType.WEB; 136 } else if ( FileUtils.isRar(archive) ) { 137 type = DeployableObjectType.CONN; 138 } 139 140 DeploymentRequest req = 142 new DeploymentRequest(env, type, DeploymentCommand.DEPLOY); 143 144 req.setFileSource(archive); 146 147 String fileName = archive.getName(); 150 int dotIdx = fileName.indexOf(fileName); 151 String regName = fileName.substring(0, dotIdx); 152 req.setName(regName); 153 154 if (type.isWEB()) { 156 req.setContextRoot(regName); 157 } 158 159 req.setForced(true); 161 162 Deployer deployer = DeployerFactory.getDeployer(req); 164 deployer.doRequest(); 165 166 deployer.cleanup(); 168 169 return req; 170 } 171 } 172 173 | Popular Tags |