다른 포트를 사용하여 여러 번 실행할 수 있습니다.
나는
@RunWith(SpringJUnit4ClassRunner.class)
public class ServicesIntegrationTest {
private RestTemplate restTemplate = new RestTemplate();
@Test
public void runTest() throws Exception {
SpringApplicationBuilder uws = new SpringApplicationBuilder(UserWebApplication.class)
.properties("server.port=8081",
"server.contextPath=/UserService",
"SOA.ControllerFactory.enforceProxyCreation=true");
uws.run();
SpringApplicationBuilder pws = new SpringApplicationBuilder(ProjectWebApplication.class)
.properties("server.port=8082",
"server.contextPath=/ProjectService",
"SOA.ControllerFactory.enforceProxyCreation=true");
pws.run();
String url = "http://localhost:8081/UserService/users";
ResponseEntity<SimplePage<UserDTO>> response = restTemplate.exchange(
url,
HttpMethod.GET,
null,
new ParameterizedTypeReference<SimplePage<UserDTO>>() {
});
here 소스 비슷한 일을했다.
감사합니다. 그것은 작동합니다. 스프링 부트 앱을 2 부 인스턴스화하면 문제없이 실행됩니다. – aleksei
당신이 아는 한 가지. 실행중인 앱을 흔적으로 구별하려고하는데 여기에 갇혀 있습니다. ''logging.pattern.level = App-1 ''/' "logging.pattern.level = App-2"'속성을 추가하려고 시도했지만 항상 첫 번째''SpringApplicationBuilder.properties''의 내용을 보여줍니다. . 왜 그런 일이 일어나고 구별을위한 올바른 방법이 무엇인지 알고 있습니까? – aleksei
2 가지 일 수 있습니다 - 구성 속성이 적용되기 전에 로거가 초기화됩니다. OR 속성 소스는 SpringApplicationBuilder의 속성보다 우선 순위가 높습니다. 값을 검색하는 데 사용되는 소스의 순서를 보았지만 지금은 찾을 수 없습니다. Google에보십시오. – StanislavL