Java 多次使用通用服务名称部署Axis2服务组
我目前有一个Axis2 web服务,它只有一个未命名的服务,Axis2会使用.aar文件或服务目录的名称自动为其生成一个服务名称,具体取决于我是否部署该服务。这样,我就可以在Axis2的服务目录的不同服务文件夹下使用一些不同的配置文件部署相同的服务,而无需配置不同的服务名称或其他。如下所示:Java 多次使用通用服务名称部署Axis2服务组,java,web-services,deployment,axis2,Java,Web Services,Deployment,Axis2,我目前有一个Axis2 web服务,它只有一个未命名的服务,Axis2会使用.aar文件或服务目录的名称自动为其生成一个服务名称,具体取决于我是否部署该服务。这样,我就可以在Axis2的服务目录的不同服务文件夹下使用一些不同的配置文件部署相同的服务,而无需配置不同的服务名称或其他。如下所示: […]axis2\WEB-INF\services\service1\META-INF\service.xml […]axis2\WEB-INF\services\service2\META-INF\se
- […]axis2\WEB-INF\services\service1\META-INF\service.xml
- […]axis2\WEB-INF\services\service2\META-INF\service.xml
- […]axis2\WEB-INF\services\service3\META-INF\service.xml
- 服务1.上传
- 服务1.下载
- 服务2.上传
- 服务2.下载 [……]
谢谢 可以使用AxisService.getClassLoader().getResource()访问服务文件夹中的文件,并获得服务文件夹的绝对路径。根据所访问的文件,您可以通过获取所访问文件的父级和一些约定,简单地确定服务的部署文件夹。如果您有部署文件夹,则可以使用其名称和服务组中配置的服务名称,将其设置为生命周期类的启动方法中的新服务名称。由于部署文件夹在Axis2的整个服务文件夹中都必须是唯一的,因此您对所有服务都具有唯一性,并且可以使用您想要的任何约定来命名部署文件夹。使用此命名约定,web服务客户端可以访问该服务 重要的部分只是在lifecycle类的startUp方法中更改服务名称,因为服务名称只需要在之后是唯一的,并使用类加载器获取到服务目录的绝对路径