我与部署在TomEE Plus中的一些JAX-RS服务发生了冲突。给定一个用@path(“myservice”)
注释的服务,Tomee+将其发布到localhost:8080/mywebapp/myservice
。
因此,我希望为所有服务配置路径前缀API
,这将MyService
URL更改为LocalHost:8080/MyWebApp/API/MyService
。如果我自己配置了CXF(使用或不使用Spring),那么这样做将是微不足道的,因为我可以简单地更改CXF Servlet的URL模式--但是我依赖于缺省设置,在缺省设置中,除了注释之外,我不配置任何东西。那么在这种情况下我该怎么做呢?
请注意,我不想修改@path
注释以包含前缀,因为这不能解决JSP的问题。
创建javax.ws.rs.core.application的扩展,并用@applicationPath对其进行注释,在您的例子中,值为api
:
@ApplicationPath("/api")
public class MyApplication extends Application {
@Override
public Set<Class<?>> getClasses() {
final Set<Class<?>> classes = new HashSet<Class<?>>();
// register root resource
classes.add(MyServiceResource.class);
return classes;
}
}
这样,servlet3容器将查找应用程序并将资源映射到/mywebapp/api/myservice
,同时使web资源(.jsp)在/mywebapp
中可用。
多年来,我一直试图让托米1.5.2 JAX-RS与杰克逊合作。我想我已经尝试了100种方法。 这是我的最后一次尝试: 我在conf/system.properties中添加了以下内容: 我在托米的 lib 文件夹中添加了: jackson-mapper-asl-1.9.12.jar jackson-core-asl-1.9.12.jar罐 jackson-jaxrs-1.9.12.jar 我在一个
是否可以覆盖嵌入的 CXF JaxRS 容器的 TomEE 中的设置?我一直在尝试集成我自己的拦截器来处理JaxRS服务的路由。 我似乎不能做的是让TomEE在启动我的服务时加载拦截器。 我读过很多文章,其中说我应该能够通过添加以下内容来配置TomEE中的CXF内容 我还看到了一些引用,说明TomEE使用了TomEE。xml替换openejbjar。xml,所以我尝试在那里进行pojo部署,但由于
我对Jackson注释有一个问题,在《大部头1》中似乎被忽略了。我使用Jackson将REST响应序列化为JSON。我打开了设置: openejb。cxf。jax-rs.providers=org。科德豪斯。杰克逊。jaxrs。JacksonJsonProvider在系统中。属性 Jackson序列化工作正常,除了所有似乎被完全忽略的Jackson注释。事件像@JsonIgnore或@JsonPr
我正在尝试在TomEE服务器上运行我的应用程序,在经历了很多麻烦之后,我能够运行该应用程序。 然而,由于某种原因,我得到了某种类型的jar重新定位冲突,因此每当从应用程序调用重新定位资源类时都会出现如下错误 我验证了BuiltResponse类,该类扩展了resteasy jar中的响应类,它包含该方法似乎很好。我尝试提取许多其他jar,以便提供冲突。下面是我处理resteasy的POM的一部分
我对ActiveMQ非常陌生,希望能在设置tomEE的默认内部ActiveMQ代理方面提供一些帮助。具体来说,任何一本书的样本。xml将非常有用。
我创建了一个简单的RESTful服务,但当我尝试返回json时,出现了以下错误: 看看TomEE 1.7.1,我看到在jax-rs实现后面有Apache CXF 2.6.4,所以我试图配置属性忽略命名空间=真。 不幸的是,我没有找到任何关于TomEE的文档,如果我想设置ignoreNamespaces = true,我应该在< code>beans.xml中设置它 我应该尝试使用不同的实现(Jer