我在linux系统上使用wso2 api-manager 02.01.00。 Api-Manager部署在文件夹A中。数据库(h2)部署在文件夹B中,文件夹B不在文件夹A中./repository/conf/datasources/master-datasources.xml中的数据源正确指向文件夹中的数据库B.我这样配置它,因为如果有部署,我想保留数据库。 (Becaus a fiew开发人员正在使用API-Manager,他们不想放弃他们的数据。)但是看起来,如果有api-manager-depoyment,WSO2AM_DB.h2.db是新建的。我想这个,因为我看了一下DB-Size。我从WSO2AM_DB.h2.db开始,大小为1750KB。我在Manager中发布了一个视图API,大小增加到2774KB。然后我做了部署,大小恢复到1750KB。 效果是API-Store / Publisher表示"尚未发布APIS"。 但我可以在应用程序订阅和碳资源的/ _system / governance / apimgt / applicationdata / provider / admin中看到APIS。 我尝试使用this强制使用新的索引,但它并没有改变任何内容。 我可以在任何地方配置,不应该在开始时创建/操作数据库吗?
与此同时,我真的绝望不解决这个问题。
也许你可以帮助我。
感谢您的时间。
答案 0 :(得分:0)
WSO2不建议在H2数据库上运行。您需要使用生产数据库,例如mysql,oracle等.H2仅用于试用。
基本上,WSO2服务器将数据存储在数据库中以及使用文件系统。对于此类部署,您需要执行以下操作。
指向外部数据库。如果您将其用于演示目的,仍然可以使用当前模式(H2数据库)。
使用dep-sync。需要保留WSO2_HOME / repository / deployment / server位置下的内容。您可以使用基于SVN的dep-sync或rsync。基本思想是,对于新部署,您需要拥有先前部署的数据。
Solr索引保存。如果系统中有数百/数千个API,则索引需要一些时间。为避免这种情况,您可以将WSO2_HOME / solr的内容复制到新部署中。