基於春季配置文件發佈澤西休息服務是可能的嗎? 可以這麼說如下例子,在使用profile1
時如何發佈RegisterServices1
?基於春季配置文件的澤西休息服務發佈
public class ApiGWRestApplicationConfig extends ResourceConfig {
public ApiGWRestApplicationConfig() {
register(RegisterServicesApiGWInterface.class);
}
}
@Service
@Profile("profile1")
@Path(SystemConstants.REST_REGISTER)
public class RegisterServices1 implements RegisterServicesApiGWInterface {
}
@Service
@Profile("profile2")
@Path(SystemConstants.REST_REGISTER)
public class RegisterServices2 implements RegisterServicesApiGWInterface{}
的web.xml
<servlet>
<servlet-name>jersey-servlet-kagw</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.ttech.tims.imos.web.ApiGWRestApplicationConfig</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
也許你可以將ApplicationContext注入到ResourceConfig中,並[[獲取所有使用@Path註釋的bean](http://stackoverflow.com/q/14236424/2587435)。你可以用'register'註冊它們。只是一個想法。我從來沒有嘗試過 –
實際上,它不起作用,因爲ResourceConfig在web.xml中初始化,在彈出的上下文初始化過程中出現 –
用[this project](https://github.com/psamsotha/jersey-彈簧實例/樹/主/ SRC /主/ JAVA/COM /失敗者/球衣/彈簧/實例)。沒有web.xml。這都是編程的,甚至SpringInitializer的彈簧配置。 ResourceConfig自動從@ApplicationPath註釋中獲取。如果它不適合你,我會再試一次 –