public class ServiceDeployer extends AbstractDeployer
Standard Axis2 service Deployer which use services.xml file to build services. ServiceDeployer can be used with Axis2 archive (.aar) or exploded directory structure. Some of the example formats given below.
Examples :
Further ServiceDeployer can be used to deploy services from a remote repository or load a repository from a JAR file. In this case service files access through URLs. To deploy services from a remote repository or JAR file it is expected to present service/services.list file which contains names of services.
Example :
jar:file:/home/resources/repo.jar!/repo/services/services.list may contains following list of service.
There are several approaches available to set repository URL to Axis2 run time. As an example one can provide repository URL as a init-param of AxisServlet. Some of the examples given below.
Example -1 :
<init-param>
<param-name>axis2.repository.url</param-name>
<param-value>http://localhost/repo/</param-value>
</init-param>
Example -2 :
<init-param>
<param-name>axis2.repository.url</param-name>
<param-value>jar:file:/home/resources/repo.jar!/repo/</param-value>
</init-param>
NOTE - It is discouraged to use above services.list based deployment approach because it does not support hot-deployment, hot-update and some of other important deployment features as well.
deploymentFileDataMap
Constructor and Description |
---|
ServiceDeployer() |
Modifier and Type | Method and Description |
---|---|
void |
deploy(DeploymentFileData deploymentFileData)
Process a file and add it to the configuration
|
void |
deployFromUrl(Deployer deployer,
URL servicesURL) |
void |
deployFromUrl(DeploymentFileData deploymentFileData) |
void |
init(ConfigurationContext configCtx)
Initialize the Deployer
|
protected ArrayList<AxisService> |
populateService(AxisServiceGroup serviceGroup,
URL servicesURL,
String serviceName) |
void |
setDirectory(String directory)
Set the directory
|
void |
setExtension(String extension)
Set the extension to look for
TODO: Support multiple extensions?
|
void |
undeploy(String fileName)
Remove a given file from the configuration
|
addServiceBuilderExtensions, cleanup, executeServiceBuilderExtensions, getServiceBuilderExtensions
public void init(ConfigurationContext configCtx)
Deployer
configCtx
- our ConfigurationContextpublic void deploy(DeploymentFileData deploymentFileData) throws DeploymentException
Deployer
deploy
in interface Deployer
deploy
in class AbstractDeployer
deploymentFileData
- the DeploymentFileData object to deployDeploymentException
- if there is a problempublic void deployFromUrl(DeploymentFileData deploymentFileData) throws DeploymentException
DeploymentException
public void deployFromUrl(Deployer deployer, URL servicesURL) throws DeploymentException
DeploymentException
protected ArrayList<AxisService> populateService(AxisServiceGroup serviceGroup, URL servicesURL, String serviceName) throws DeploymentException
DeploymentException
public void setDirectory(String directory)
Deployer
directory
- directory namepublic void setExtension(String extension)
Deployer
extension
- the file extension associated with this Deployerpublic void undeploy(String fileName) throws DeploymentException
Deployer
undeploy
in interface Deployer
undeploy
in class AbstractDeployer
fileName
- name of item to removeDeploymentException
- if there is a problemCopyright © 2004–2018 The Apache Software Foundation. All rights reserved.