我使用apache-cxf创建了web服务,并使用johnzon provider来编组和解组JSON,还在open-ejb-jar文件中配置了provider-service。一旦我在tomee服务器中部署了应用程序,我就可以访问我的api,但是在我的应用程序被取消部署和再次部署之后。我无法使用http://localhost:8080/demo/school-services/student/1访问我的api
我正处于错误之下。
<ns1:XMLFault xmlns:ns1="http://cxf.apache.org/bindings/xformat"><ns1:faultstring xmlns:ns1="http://cxf.apache.org/bindings/xformat">java.lang.NoClassDefFoundError: org/apache/johnzon/mapper/ac`enter code here`cess/FieldAndMethodAccessMode$CompositeReader</ns1:faultstring></ns1:XMLFault>
下面是我的配置文件openejb-jar。xml文件
<openejb-jar>
<pojo-deployment class-name="jaxrs-application">
<properties>
# optional but requires to skip scanned providers if set to true
cxf.jaxrs.skip-provider-scanning = true
cxf.jaxrs.providers = johnzon,org.apache.openejb.server.cxf.rs.EJBAccessExceptionMapper
</properties>
</pojo-deployment>
</openejb-jar>
resources.xml file
<resources>
<Service id="johnzon" class-name="org.apache.johnzon.jaxrs.ConfigurableJohnzonProvider">
# 1M
maxSize = 1048576
bufferSize = 1048576
# Additional types to ignore
ignores = org.apache.cxf.jaxrs.ext.multipart.MultipartBody
</Service>
</resources>
请查看随附的演示应用程序git repo:https://github.com/dharmendrasahu08/spring_boot_application/tree/master/demo你能帮我解决这个问题吗。谢谢,D Sahu
看起来像是json转换器的问题——您的代码正在使用Apache Johnzon将Java对象转换为Json,它在容器中,而不在部署档案中。如果使用maven添加依赖项,您可以尝试将json提供者更改为使用spougle,或者使用jackson-jaxb添加库:
org.codehaus.jettison:jettison:x.y.z
或者尝试强制从webapp加载项conf/system.properties加载:
openejb.forced-load=org.apache.cxf.jaxrs.provider.json.JSONProvider
试试换openejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<openejb-jar xmlns="http://www.openejb.org/openejb-jar/1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openejb.org/openejb-jar/1.1">
<pojo-deployment class-name="jaxrs-application">
<properties>
cxf.jaxrs.providers = org.apache.cxf.jaxrs.provider.json.JSONProvider
</properties>
</pojo-deployment>
</openejb-jar>
关于aiohttp服务器部署,这里有以下几种选择: 独立的服务器。 使用nginx, HAProxy等反向代理服务器,之后是后端服务器。 在反向代理之后在部署一层gunicorn,然后才是后端服务器。 独立服务器 只需要调用aiohttp.web.run_app(),并传递aiohttp.web.Application实例即可。 该方法最简单,也是在比较小的程序中最好的解决方法。但该方法并不能完全
我正在尝试在库伯内特斯集群的pod中部署DHCP服务器。我创建了以下资源: $cat dhcpd部署。亚马尔 创建dhcpd-deployment.yaml $catdhcpd-service.yaml $kubectl create-f dhcpd服务。亚马尔 pod和服务的所有内容都已成功创建,但不幸的是,DHCPD pod在UDP端口67上没有接收任何数据包。 我错过什么了吗?
部署 PHP 应用程序到生产环境中有多种方式。 Platform as a Service (PaaS) PaaS 提供了运行 PHP 应用程序所必须的系统环境和网络架构。这就意味着只需做少量配置就可以运行 PHP 应用程序或者 PHP 框架。 现在,PaaS 已经成为一种部署、托管和扩展各种规模的 PHP 应用程序的流行方式。你可以在 资源部分 查看 PHP PaaS “Platform as
部署服务 我们使用 docker service 命令来管理 Swarm 集群中的服务,该命令只能在管理节点运行。 新建服务 现在我们在上一节创建的 Swarm 集群中运行一个名为 nginx 服务。 $ docker service create --replicas 3 -p 80:80 --name nginx nginx:1.13.7-alpine 现在我们使用浏览器,输入任意节点 IP
我有一个本地eureka服务器和一个客户端 RetryableEurekaHttpClient:请求执行失败DiscoveryClient:DiscoveryClient_MW/192.168.0.100:Client:8080-无法发送心跳! com.netflix.discovery.shared.transport.transportException:无法在任何已知服务器上执行请求 在《原
本文档用来说明通过预编译好的安装包来安装并运行基于 MySQL/MariaDB 的 Seafile 服务器。(MariaDB 是 MySQL 的分支) 下载 到下载页面下载最新的服务器安装包. 部署和目录设计 假设你公司的名称为 haiwen, 你也已经下载 seafile-server_1.4.0_* 到你的 home 目录下。 我们建议这样的目录结构: mkdir haiwen mv seaf