Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

85
Visualizações
Publicación del servicio de descanso de Jersey basado en Spring Profile

¿Es posible publicar el servicio de descanso de la camiseta según el perfil de la primavera? digamos como siguiente ejemplo, ¿cómo puedo publicar RegisterServices1 cuando uso profile1 ?

 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>
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Entonces, lo que puede hacer es obtener ApplicationContext y usar getBeansWithAnnotation(Path.class) . Esto le dará todas las instancias de recursos que forman parte del perfil. Luego puede registrar las instancias.

Pensé que sería posible inyectar ApplicationContext en ResourceConfig , pero como se menciona en el comentario anterior, parece que la creación de ResourceConfig aún no tiene acceso a él.

Lo que pude ponerme a trabajar es usar una Feature JAX-RS que también tiene acceso a los métodos de registro, tal como lo tiene en ResourceConfig . El uso de la Feature le dará acceso a ApplicationContext

 public class SpringProfilesFeature implements Feature { @Inject private ApplicationContext context; @Override public boolean configure(FeatureContext featureContext) { Map<String, Object> resources = context.getBeansWithAnnotation(Path.class); resources.values().forEach(resource -> featureContext.register(resource)); return true; } }

Luego simplemente registre la función con ResourceConfig

 public AppConfig() { register(SpringProfilesFeature.class); }

Elimine cualquier otro registro que tenga para todos sus recursos. Simplemente deje que la función los registre.

He confirmado que esto funciona. No estoy seguro de cómo configura su perfil para el entorno, pero espero que esto sea algo que ya sepa cómo hacer.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda