我有这个单例类,它将在应用程序启动时启动,并且该方法每30秒调用一次。
@Singleton
@Startup
public class myClass{
@Schedule(second="*/30", minute="*", hour="*")
public void serviceRequest(){
String url = "";
//send request
}
}
网址将类似于http://localhost:7001/webapp/rest/tasks/mytask。我不想对网址进行硬编码。相反,我想以某种方式从系统(或某个地方)获得。我尝试过像HttpServletRequest那样注入资源但是没有用。
提前致谢。
答案 0 :(得分:0)
如果你正在使用JAX-RS,那么这将有效:
@RequestScoped @Path("tasks")
public class TaskResource {
@GET @Path("{id}")
public Response getTask(@PathParam("id") String id) {
/* whatever */
}
}
URI uri = UriBuilder.fromResource(TaskResource.class)
.segment("{id}").build("mytask");
答案 1 :(得分:0)
该网址将由外部服务提供,所以我不需要担心主机和端口号,因为生病了得到完整的网址到该休息服务。因为服务不可用所以我做了一个内部休息服务来测试我的功能。我想我现在会对网址进行编码。