【发布时间】:2016-02-29 12:16:22
【问题描述】:
我使用NettyJaxrsServer 创建了一个独立的应用程序。在一种情况下,我想获取到达服务器的请求的 IP。该怎么做呢?
我这里有依赖的 pom
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-netty</artifactId>
<version>3.0.10.Final</version>
</dependency>
我使用以下代码创建了NettyJaxrsServer。
public void createServer()
{
server = new NettyJaxrsServer();
server.setDeployment(getDeployment());
server.setPort(configuration.getPort());
server.setSecurityDomain(null); server.setRootResourcePath(configuration.getResourceRootPath());
}
public ResteasyDeployment getDeployment() {
final ResteasyDeployment dp = new ResteasyDeployment();
final Collection<Object> controllers = new ArrayList<Object>();
controllers.add(ctx.getBean(TestIP.class));
dp.getResources().addAll(controllers);
return dp;
}
还有我的网络服务类
@Path("/test")
@Component
public class TestIP {
@GET
@Path("/pingIp")
@Produces(MediaType.APPLICATION_JSON)
public String getAd( @Context HttpServletRequest servletRequest) {
return servletRequest.getRemoteAddr();
}
}
遇到servletRequest.getRemoteAddr(); 时会抛出org.jboss.resteasy.spi.LoggableFailure 异常。请一些身体治愈我,找出我在这里做错了什么。提前谢谢..!
【问题讨论】:
标签: java maven jax-rs netty resteasy