Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Sep 23, 2023. It is now read-only.

Home

Jump to bottom
Catalin Dinuta edited this page Feb 17, 2022 * 1 revision

Integrate dependency into your custom microservice

Add maven dependency.


com.github.dinuta.estuary
agent
4.1.0

Make your own main class for your custom service.

@SpringBootApplication
@EnableEurekaClient
@RestController
@EnableSwagger2
public class MyCustomAgentApp implements CommandLineRunner {

public static void main(String[] args) {
new SpringApplication(MyCustomAgentApp.class).run(args);
}

@Override
public void run(String... arg0) {
if (arg0.length > 0 && arg0[0].equals("exitcode")) {
throw new ExitException();
}
}

class ExitException extends RuntimeException implements ExitCodeGenerator {
private static final long serialVersionUID = 1L;

@Override
public int getExitCode() {
return 10;
}

}
}

Annotate MyCustomAgentApp main class with:

@ComponentScan(basePackages = {
"com.github.dinuta.estuary.agent",
"com.github.dinuta.estuary.agent.api",
"com.github.dinuta.estuary.agent.configuration",
"com.github.dinuta.estuary.agent.component",
"com.github.dinuta.estuary.agent.handler"

... add your other custom controllers and configs here
})

Optionally add your custom controllers to the swagger.

@Configuration
public class Swagger2DocumentationConfig {

ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("agent")
.description("Custom Agent will run custom commands")
.termsOfServiceUrl("")
.version("4.0.8")
.contact(new Contact("Catalin Dinuta", "", "cdinuta@example.com"))
.build();
}

@Bean
public Docket customImplementationForAgent() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.api") ) //your api package where your controllers resides
.build()
.groupName("agent")
.directModelSubstitute(org.threeten.bp.LocalDate.class, java.sql.Date.class)
.directModelSubstitute(org.threeten.bp.OffsetDateTime.class, java.util.Date.class)
.apiInfo(apiInfo());
}

}

Clone this wiki locally