Hi, AFAIK we agreed not to allow users to modify deployed CApps or its artifacts through management console.
We consider CApp as an atomic unit and we only support creating or modifying CApp artifacts through Developer Studio and we may need to encourage users to use the Dev tool if they need to modify the CApp or its artifacts. Once CApp is deployed users cannot modify it. If he need to modify the CApp or its artifacts he may need to use DevStudio for that and redeploy the CApp. Thanks, Manoj Best Regards.. Manoj Kumara Software Engineer WSO2, Inc.; http://wso2.com Twitter: http://twitter.com/ManKuma Mobile: +94713448188 On Wed, Jan 22, 2014 at 11:10 AM, Asanka Vithanage <[email protected]> wrote: > Hi All, > > If some user try to update a artifact deployed through an CApp as > described in below scenario, What should be the our answer to an user? > > *Scenario:* > 1. User have created a CApp which include all the artifacts need to try > out MS and MP on ESB [Attached a such artifact]. > 2. Start the ESB server and Deploys the created CApp on ESB server > 3. Due to some reason user wants to just change an one Message Processor > parameter like "Maximum delivery attempts", So using admin console UI he > changes the parameter value {[UI is the easiest way to do such a small > change] > 4. Once user restart the server, he will experience the below listed > exception on stack-trace due to artifact duplication. > > *Note*: > With current CApp deploy architecture all artifacts deployed through a > CApp keep on a temporarily location > [wso2esb-4.8.1/repository/carbonapps/work/] and At every restart CApp will > redeploy again. > But if user edits one of capp deployed artifacts It will duplicate same > artifact inside wso2esb-4.8.1/repository/deployment/server folder hierarchy > as well.So artifact duplication happen at server restart time. > > > So whats our stand on this kind of situation? > May be we can say we are not allow to update CApp deployed artifacts > through Admin console UI. > But we do have real usability issue here, since users tend to use admin > console UI to make a small changes on an artifact. > Further our docs [1] does not say anything about this as well. > > [This concern is valid for all the wso2 products which supports CApp > deployment] > > > *Observed following Error:* > > [2014-01-21 18:17:55,517] ERROR - MessageProcessorDeployer Message > Processor Deployment from the file : > /home/asankav/servers/releasetest/ESB481/wso2esb-4.8.1/repository/carbonapps/work/1390308470104ESB_MSandMP_WSO2MB_Schenario_TestPack_O_CApp_1.0.0.car/MessageProcessorO1_1.0.0/MessageProcessorO1-1.0.0.xml > : Failed. > org.apache.synapse.SynapseException: Error scheduling job : JobDetail > 'synapse.message.processor.quartz.MessageProcessorO1-job': jobClass: > 'org.apache.synapse.message.processor.impl.forwarder.ForwardingService > concurrentExectionDisallowed: false persistJobDataAfterExecution: false > isDurable: false requestsRecovers: false with trigger Trigger > 'DEFAULT.MessageProcessorO1-trigger': triggerClass: > 'org.quartz.impl.triggers.SimpleTriggerImpl calendar: 'null' > misfireInstruction: 4 nextFireTime: Tue Jan 21 18:17:55 IST 2014 > at > org.apache.synapse.message.processor.impl.ScheduledMessageProcessor.start(ScheduledMessageProcessor.java:153) > at > org.apache.synapse.message.processor.impl.ScheduledMessageProcessor.init(ScheduledMessageProcessor.java:108) > at > org.apache.synapse.message.processor.impl.forwarder.ScheduledMessageForwardingProcessor.init(ScheduledMessageForwardingProcessor.java:43) > at > org.apache.synapse.deployers.MessageProcessorDeployer.deploySynapseArtifact(MessageProcessorDeployer.java:52) > at > org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:190) > at > org.wso2.carbon.application.deployer.synapse.SynapseAppDeployer.deployArtifacts(SynapseAppDeployer.java:140) > 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:439) > at > java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) > at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) > at java.lang.Thread.run(Thread.java:662) > Caused by: org.quartz.ObjectAlreadyExistsException: Unable to store Job : > 'synapse.message.processor.quartz.MessageProcessorO1-job', because one > already exists with this identification. > at org.quartz.simpl.RAMJobStore.storeJob(RAMJobStore.java:277) > at > org.quartz.simpl.RAMJobStore.storeJobAndTrigger(RAMJobStore.java:249) > at > org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:840) > at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:250) > at > org.apache.synapse.message.processor.impl.ScheduledMessageProcessor.start(ScheduledMessageProcessor.java:151) > ... 26 more > [2014-01-21 18:17:55,575] ERROR - AbstractSynapseArtifactDeployer > Deployment of the Synapse Artifact from file : > /home/asankav/servers/releasetest/ESB481/wso2esb-4.8.1/repository/carbonapps/work/1390308470104ESB_MSandMP_WSO2MB_Schenario_TestPack_O_CApp_1.0.0.car/MessageProcessorO1_1.0.0/MessageProcessorO1-1.0.0.xml > : Failed! > org.apache.synapse.deployers.SynapseArtifactDeploymentException: Message > Processor Deployment from the file : > /home/asankav/servers/releasetest/ESB481/wso2esb-4.8.1/repository/carbonapps/work/1390308470104ESB_MSandMP_WSO2MB_Schenario_TestPack_O_CApp_1.0.0.car/MessageProcessorO1_1.0.0/MessageProcessorO1-1.0.0.xml > : Failed. > at > org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.handleSynapseArtifactDeploymentError(AbstractSynapseArtifactDeployer.java:471) > at > org.apache.synapse.deployers.MessageProcessorDeployer.deploySynapseArtifact(MessageProcessorDeployer.java:71) > at > org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:190) > at > org.wso2.carbon.application.deployer.synapse.SynapseAppDeployer.deployArtifacts(SynapseAppDeployer.java:140) > 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:439) > at > java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) > at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) > at java.lang.Thread.run(Thread.java:662) > Caused by: org.apache.synapse.SynapseException: Error scheduling job : > JobDetail 'synapse.message.processor.quartz.MessageProcessorO1-job': > jobClass: > 'org.apache.synapse.message.processor.impl.forwarder.ForwardingService > concurrentExectionDisallowed: false persistJobDataAfterExecution: false > isDurable: false requestsRecovers: false with trigger Trigger > 'DEFAULT.MessageProcessorO1-trigger': triggerClass: > 'org.quartz.impl.triggers.SimpleTriggerImpl calendar: 'null' > misfireInstruction: 4 nextFireTime: Tue Jan 21 18:17:55 IST 2014 > at > org.apache.synapse.message.processor.impl.ScheduledMessageProcessor.start(ScheduledMessageProcessor.java:153) > at > org.apache.synapse.message.processor.impl.ScheduledMessageProcessor.init(ScheduledMessageProcessor.java:108) > at > org.apache.synapse.message.processor.impl.forwarder.ScheduledMessageForwardingProcessor.init(ScheduledMessageForwardingProcessor.java:43) > at > org.apache.synapse.deployers.MessageProcessorDeployer.deploySynapseArtifact(MessageProcessorDeployer.java:52) > ... 23 more > Caused by: org.quartz.ObjectAlreadyExistsException: Unable to store Job : > 'synapse.message.processor.quartz.MessageProcessorO1-job', because one > already exists with this identification. > at org.quartz.simpl.RAMJobStore.storeJob(RAMJobStore.java:277) > at > org.quartz.simpl.RAMJobStore.storeJobAndTrigger(RAMJobStore.java:249) > at > org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:840) > at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:250) > at > org.apache.synapse.message.processor.impl.ScheduledMessageProcessor.start(ScheduledMessageProcessor.java:151) > ... 26 more > > > [1] http://docs.wso2.org/display/Carbon420/C-App+Deployment+Process > > -- > Asanka Vithanage > Senior Software Engineer -QA > Mobile: +94 0716286708 > Email: [email protected] > WSO2 Inc. www.wso2.com > >
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
