目的:將最新版(6.4.0)部署在linux服務器,與Api Manager部署在同一環境
環境:
Centos 7.3
Jdk 8
Mysql 5.7
問題一: 將H2替換為Mysql5.7數據庫時提示無法找到驅動
解決方式:官方文檔給出的驅動程序位置有誤,應為<EI_HOME>/lib,將5.7對應的驅動mysql-connector-java-8.0.14.jar存放在該目錄,相應的dropins中也會復制一個驅動。
問題二:啟動后與API Manager大量的端口沖突
解決方式:因兩款產品用到相同的技術手段,且大量的端口配置相同,因此部署在同一服務器時自然會沖突,如果一個一個查端口,再單獨修改,工作量驚人,還好WOS2想到了該問題,只需要在啟動EI時添加端口偏移量即可
命令:./integrator.sh -DportOffset=3 (端口號均增加3)
問題三:修改完Mysql5.7提示連接不上
解決方式:類似於我另一篇博客,是數據庫SSL問題,關閉即可
問題四:啟動后提示缺少WSO2 Indenty Server相關類庫
原因:與Api Manager采用了同樣的數據庫,但還沒有部署同一的認證服務期,因此報錯,解決方式:
1)部署Wso2 IS(還沒試)
2)與AM不共用庫
問題五:運行成功后,ServerIp為localhost

參考文獻:https://docs.wso2.com/display/EI611/Configuring+carbon.xml
(1) Host 顯示不准確
解決方法:修改../conf/carbon.xml文件中的HostName,改為服務器的ip地址即可
問題六:按照官方的教程Sending a Simple Message to a Service運行 ,卡在運行msf4j.sh上,運行報錯端口被占用。但坑爹的是不告訴你哪個端口被占用。
解決方法:在google中搜索相關內容,找到了WSO2的所有端口信息https://docs.wso2.com/display/EI610/Default+ports+of+WSO2+EI 相關的端口可能是9090,在linux服務器上查詢,發現有可能是gitlab的端口占用。查了一下午資料,試了端口offset不行,懷疑是服務jar包端口占用,刪了也同樣報錯,后來終於發現9090端口的配置位置:/usr/lib64/wso2/wso2ei/6.4.0/wso2/msf4j/conf/transports/netty-transports.yml 即可。
問題七:問題六改完后報新錯:
