我已经连续WSO2 API Manager 2.0.0 : white screens after installing https certificate使用MySQL数据库从2.0.0 zip发行版中安装了一个全新的WSO2 API Manager(单节点),以避免与H2数据库相关的问题。
安装完成后,启动时没有警告也没有错误(在几次尝试在master-datasources.xml中完成所有操作后)。
在发布商中,我可以以管理员身份登录,创建新的API,导入swagger json合同,最终确定API没有问题。
在商店中,我可以以管理员身份登录,查看我刚刚创建的API,通过右侧下拉菜单创建新的应用程序,订阅它。
但是当我尝试打开一个应用程序以生成密钥和令牌时,我只是得到一个白色的空屏幕。没有什么可以帮助我在日志中:
[29/Nov/2016:16:17:33 +0100] "GET /store/site/pages/application.jag?name=MyNewApp&tenant=carbon.super HTTP/1.1" 200 3 "https://10.22.106.101:9443/store/site/pages/applications.jag?tenant=carbon.super" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0"
编辑: 我得到页面崩溃几分钟后(可能没有关系?)我在wso2carbon.log中反复进行了这次打印:
WARN {sun.rmi.transport.tcp.TCPTransport$AcceptLoop} - RMI TCP Accept-11111: accept loop for ServerSocket[addr=0.0.0.0/0.0.0.0,localport=11111] throws {sun.rmi.transport.tcp.TCPTransport$AcceptLoop}
java.lang.OutOfMemoryError: unable to create new native thread
同样,这是一个插入MySQL数据库的基本安装(解压缩),没有自定义/配置。
编辑2:所以我认为我找到了原因,但不是解决方案。当我通过直接命令行启动时不会发生此问题,只有当我通过systemd服务启动时才会发生此问题:sudo sytemctl start wso2am.service
/etc/systemd/system/wso2am.service:
[Unit]
Description=WSO2 API Manager
[Service]
User=linc
ExecStart=/bin/bash -c ". /etc/profile.d/setenv.sh; /home/linc/wso2am-2.0.0/bin/wso2server.sh start"
Type=forking
[Install]
WantedBy=multi-user.target
WSO2与systemd启动不兼容吗?或者我错过了一些参数?
答案 0 :(得分:1)
我已关注this blog post将APIM作为Linux服务运行。请看一看。它应该没有问题。 (请务必在#!bin/sh
)
myService.sh
答案 1 :(得分:0)
最后,我将WSO2 API管理器作为Systemd服务运行。
这是我的'wso2apim.service'文件
>>> joined.rdd.map(lambda row: (row.id_e, [i for i in range(4) if row.list_d[i] != row.list_e[i]])).collect()
[(31, [2]), (33, [2])]
这很简单,但很棘手
希望有所帮助