我安装了WSO2 EI 6.5.0的检测安装,当我尝试保存现有的代理服务时,我在日志中看到“只读”错误。
[2019-06-25 08:06:44,865] [-1234] [] [http-nio-9443-exec-40]信息{org.wso2.carbon.mediation.dependency.mgt.DependencyTracker}-代理服务:FileProxy_Tienda_Stock已成功从Synapse配置中删除 [2019-06-25 08:06:44,867] [-1234] [] [http-nio-9443-exec-40]信息{org.wso2.carbon.mediation.dependency.mgt.DependencyTracker}-代理服务:FileProxy_Tienda_Stock已成功添加到Synapse配置 [2019-06-25 08:06:44,867] [-1234] [] [http-nio-9443-exec-40]信息{org.apache.synapse.core.axis2.ProxyService}-为代理服务构建Axis服务:FileProxy_Tienda_Stock [2019-06-25 08:06:44,868] [-1234] [] [http-nio-9443-exec-40]信息{org.apache.synapse.core.axis2.ProxyService}-将服务FileProxy_Tienda_Stock添加到Axis2组态 [2019-06-25 08:06:44,869] [-1234] [] [http-nio-9443-exec-40]信息{org.wso2.carbon.core.deployment.DeploymentInterceptor}-部署Axis2服务:FileProxy_Tienda_Stock {超级租户} [2019-06-25 08:06:44,870] [-1234] [] [http-nio-9443-exec-40]信息{org.apache.synapse.core.axis2.ProxyService}-已成功创建Axis2服务代理服务:FileProxy_Tienda_Stock [2019-06-25 08:06:47,322] [-1] [] [Thread-21]错误{org.wso2.carbon.mediation.initializer.persistence.ProxyServiceStore}-保存代理服务时出错:FileProxy_Tienda_Stock文件系统 java.io.IOException:目标'././repository/deployment/server/synapse-configs/default/proxy-services/FileProxy_Tiendas_Stock.xml'存在但为只读 在org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1089) 在org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1038) 在org.apache.synapse.config.xml.MultiXMLConfigurationSerializer.writeToFile(MultiXMLConfigurationSerializer.java:758) 在org.apache.synapse.config.xml.MultiXMLConfigurationSerializer.serializeProxy(MultiXMLConfigurationSerializer.java:412) 在org.wso2.carbon.mediation.initializer.persistence.ProxyServiceStore.saveToFile(ProxyServiceStore.java:47) 在org.wso2.carbon.mediation.initializer.persistence.ProxyServiceStore.saveToFile(ProxyServiceStore.java:32) 在org.wso2.carbon.mediation.initializer.persistence.AbstractStore.save(AbstractStore.java:78) 在org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager.persistElement(MediationPersistenceManager.java:476) 在org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager.access $ 1400(MediationPersistenceManager.java:71) 在org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager $ MediationPersistenceWorker.run(MediationPersistenceManager.java:452)处 [2019-06-25 08:06:47,326] [-1] [] [Thread-21]错误{org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager}-保存中介配置更改时出错 org.wso2.carbon.mediation.initializer.persistence.ServiceBusPersistenceException:保存代理服务时出错:FileProxy_Tienda_Stock到文件系统 在org.wso2.carbon.mediation.initializer.persistence.AbstractStore.handleException(AbstractStore.java:206) 在org.wso2.carbon.mediation.initializer.persistence.ProxyServiceStore.saveToFile(ProxyServiceStore.java:49) 在org.wso2.carbon.mediation.initializer.persistence.ProxyServiceStore.saveToFile(ProxyServiceStore.java:32) 在org.wso2.carbon.mediation.initializer.persistence.AbstractStore.save(AbstractStore.java:78) 在org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager.persistElement(MediationPersistenceManager.java:476) 在org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager.access $ 1400(MediationPersistenceManager.java:71) 在org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager $ MediationPersistenceWorker.run(MediationPersistenceManager.java:452)处 由以下原因引起:java.io.IOException:目标'././repository/deployment/server/synapse-configs/default/proxy-services/FileProxy_Tiendas_Stock.xml'存在但为只读 在org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1089) 在org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1038) 在org.apache.synapse.config.xml.MultiXMLConfigurationSerializer.writeToFile(MultiXMLConfigurationSerializer.java:758) 在org.apache.synapse.config.xml.MultiXMLConfigurationSerializer.serializeProxy(MultiXMLConfigurationSerializer.java:412) 在org.wso2.carbon.mediation.initializer.persistence.ProxyServiceStore.saveToFile(ProxyServiceStore.java:47) ...还有5个
答案 0 :(得分:1)
这似乎是一个权限问题。您可以检查运行wso2服务的服务器用户是否具有对工件位置的读写权限吗?您可以通过以下命令获取wso2服务器的服务器用户: ps -ef | grep wso2 。然后,您可以通过执行以下命令来检查工件位置的权限。
ls -lrt repository/deployment/server/synapse-configs/default/
如果服务器用户对工件位置没有写权限,则需要向用户提供工件位置的所有权[1]
[1]-https://askubuntu.com/questions/6723/change-folder-permissions-and-ownership