从 java class 得到 url
Get url from java class
我有这个单例 class,它将在应用程序启动时启动,并且该方法每 30 秒调用一次。
@Singleton
@Startup
public class myClass{
@Schedule(second="*/30", minute="*", hour="*")
public void serviceRequest(){
String url = "";
//send request
}
}
url 将类似于 http://localhost:7001/webapp/rest/tasks/mytask。我不想硬编码 url。相反,我想以某种方式从系统(或某处)获取它。我试过注入 HttpServletRequest 之类的资源,但没有用。
提前致谢。
如果您使用的是 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");
url 将由外部服务提供,因此我无需担心主机和端口号,因为我会完全 url 到该其余服务。因为该服务不可用,所以我做了一个内部休息服务来测试我的功能。我想我现在会对 url 进行硬编码。
我有这个单例 class,它将在应用程序启动时启动,并且该方法每 30 秒调用一次。
@Singleton
@Startup
public class myClass{
@Schedule(second="*/30", minute="*", hour="*")
public void serviceRequest(){
String url = "";
//send request
}
}
url 将类似于 http://localhost:7001/webapp/rest/tasks/mytask。我不想硬编码 url。相反,我想以某种方式从系统(或某处)获取它。我试过注入 HttpServletRequest 之类的资源,但没有用。
提前致谢。
如果您使用的是 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");
url 将由外部服务提供,因此我无需担心主机和端口号,因为我会完全 url 到该其余服务。因为该服务不可用,所以我做了一个内部休息服务来测试我的功能。我想我现在会对 url 进行硬编码。