Deployment 通过CAR归档部署类中介和工件

Deployment 通过CAR归档部署类中介和工件,deployment,wso2,osgi,wso2esb,mediator,Deployment,Wso2,Osgi,Wso2esb,Mediator,我使用的是WSO2开发者工作室3.5。 我在synapse配置项目中开发了一系列配置工件 然后我开发了自己的自定义类中介器 最终我创建了一个复合应用程序项目。在它的pom中,我选择了配置项目和类中介 我使用mvn clean install命令创建了汽车档案 我进入管理控制台,通过carbon应用程序部分添加了汽车文件。查看的my wso2 esb 4.8.1日志,我发现了一些异常: [2015-05-23 23:52:58,900] ERROR - CappAxis2Deployer Erro

我使用的是WSO2开发者工作室3.5。 我在synapse配置项目中开发了一系列配置工件

然后我开发了自己的自定义类中介器

最终我创建了一个复合应用程序项目。在它的pom中,我选择了配置项目和类中介

我使用mvn clean install命令创建了汽车档案

我进入管理控制台,通过carbon应用程序部分添加了汽车文件。查看的my wso2 esb 4.8.1日志,我发现了一些异常:

[2015-05-23 23:52:58,900] ERROR - CappAxis2Deployer Error while deploying carbon application C:\CodeHome\WSO2ES~1.1\bin\..\repository\deployment\server\carbonapps\Diogene-WSO2CAR_1.0.0.car
org.apache.synapse.deployers.SynapseArtifactDeploymentException: Error while backing up the artifact: DynamicEndpointConfigurationTask-1.0.0.xml
    at org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.handleSynapseArtifactDeploymentError(AbstractSynapseArtifactDeployer.java:473)
    at org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.backupFile(AbstractSynapseArtifactDeployer.java:517)
    at org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:197)
    at org.wso2.carbon.application.deployer.synapse.SynapseAppDeployer.deployArtifacts(SynapseAppDeployer.java:100)
    at org.wso2.carbon.application.deployer.internal.ApplicationManager.deployCarbonApp(ApplicationManager.java:251)
    at org.wso2.carbon.application.deployer.CappAxis2Deployer.deploy(CappAxis2Deployer.java:114)
    at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
    at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:807)
    at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
    at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377)
    at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
    at org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:371)
    at org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:59)
    at org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:67)
    at org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.runAxisDeployment(CarbonDeploymentSchedulerTask.java:79)
    at org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:124)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:722)
Caused by: java.io.IOException: Failed to delete original file 'C:\CodeHome\WSO2ES~1.1\bin\..\repository\carbonapps\work\1432417976326Diogene-WSO2CAR_1.0.0.car\DynamicEndpointConfigurationTask_1.0.0\DynamicEndpointConfigurationTask-1.0.0.xml' after copy to 'C:\CodeHome\wso2esb-4.8.1\repository\carbonapps\work\1432417976326Diogene-WSO2CAR_1.0.0.car\DynamicEndpointConfigurationTask_1.0.0\DynamicEndpointConfigurationTask-1.0.0.xml.back'
    at org.apache.commons.io.FileUtils.moveFile(FileUtils.java:2109)
    at org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.backupFile(AbstractSynapseArtifactDeployer.java:515)
    ... 22 more
实际上,类中介似乎没有加载。我尝试了不同的次数,但结果总是一样的。 当我尝试添加我的类中介时,单击代理的设计视图上的load class按钮可以确认此结果:“在路径中找不到类”。
手动复制到components/lib文件夹是将自定义类中介添加到wso2 esb的唯一方法吗?

中介类应打包在jar文件中,并放在服务器上的
/repository/components/lib


此外,您的错误表明car文件部署错误。您是先从管理控制台取消部署还是重新部署?或者从Developer Studio部署?

创建一个中介项目,并在其中编写自己的自定义类。从ur mediator项目的pom.xml创建归档文件,并将其放入 /存储库/组件/库


接下来在你的CAR项目中,通过添加你的中介项目的依赖项来更改POM,然后最终创建CAR文件。

错误发生在第一次部署时。我写了一个多模块maven项目。。其中的模块包括类中介、synapse配置项目和car项目。通过这种方式,类中介器作为jar文件构建并安装在本地repo中。最终结果是一个包含xml工件和jar文件的car文件。我试图通过以管理员身份登录的管理控制台安装它。我的目标是瞄准一个car文件,通过该文件安装配置工件和类中介器jar。您需要手动将jar文件添加到服务器,使用car文件部署它不起作用。但是afak wso2 esb是osgi,因此无法将中介器安装为插件?上面的异常是文件删除尝试失败。您是否尝试手动删除它?事实上,我会清理整个“工作”目录