Hi,
Azeez and I were testing a Stratos deployment with 2 nodes of Appserver. We
did a minor modification in the getService() of ServicePersistenceManager
as below.
Then we uploaded a service; accessed it from two browsers; and deleted it.
Interestingly the highlighted code-segment is executed, and prints *true*,
in the terminal of the other node.
That means, the resourceExists, but the ResourceNotFoundException is
thrown. Can someone explains this behavior?
public Resource getService(AxisService axisService) throws Exception {
try {
String serviceResourcePath =
PersistenceUtils.getResourcePath(axisService);
if (configRegistry.resourceExists(serviceResourcePath)) {
Resource resource = null;
try {
resource = configRegistry.get(serviceResourcePath);
* } catch (ResourceNotFoundException e) {
System.out.println("++++++++++++++++++++++++++++++++++"
+ configRegistry.resourceExists(serviceResourcePath));
if(configRegistry.resourceExists(serviceResourcePath)){
throw e;
}
* }
....
}
Complete log for the interested:
Node 1:
[2012-01-25 05:52:04,562] @3000.abw [6451] [WSO2 Stratos Application
Server] INFO {org.wso2.carbon.service.mgt.ServiceAdmin} - Undeploying Web
service: /mnt/
209.126.198.68/wso2stratos-as-1.5.2/repository/tenants/6451/axis2services/Chad.aar
[2012-01-25 05:52:10,101] INFO
{org.apache.axis2.deployment.DeploymentEngine} -
org.apache.axis2.deployment.DeploymentException: The Chad service group
name is not valid.
Node2:
++++++++++++++++++++++++++++++++++true
[2012-01-25 05:51:57,467] @3000.abw [6451] [WSO2 Stratos Application
Server]ERROR {org.wso2.carbon.core.persistence.AbstractPersistenceManager}
- Could not get the Service resource from Config Registry
org.wso2.carbon.registry.core.exceptions.ResourceNotFoundException:
Resource does not exist at path
/_system/config/repository/axis2/service-groups/Chad/services/Chad
at
org.wso2.carbon.registry.core.jdbc.handlers.builtin.MountHandler.get(MountHandler.java:426)
at
org.wso2.carbon.registry.core.jdbc.handlers.HandlerManager.get(HandlerManager.java:2378)
at
org.wso2.carbon.registry.core.jdbc.handlers.UserDefinedHandlerManager.get(UserDefinedHandlerManager.java:200)
at
org.wso2.carbon.registry.core.jdbc.handlers.HandlerLifecycleManager.get(HandlerLifecycleManager.java:814)
at
org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.get(EmbeddedRegistry.java:512)
at
org.wso2.carbon.registry.core.caching.CacheBackedRegistry.get(CacheBackedRegistry.java:133)
at
org.wso2.carbon.registry.core.session.UserRegistry.get(UserRegistry.java:528)
at
org.wso2.carbon.core.persistence.ServicePersistenceManager.getService(ServicePersistenceManager.java:89)
at
org.wso2.carbon.core.deployment.DeploymentInterceptor.serviceUpdate(DeploymentInterceptor.java:254)
at
org.apache.axis2.engine.AxisConfiguration.notifyObservers(AxisConfiguration.java:652)
at
org.apache.axis2.engine.AxisConfiguration.removeServiceGroup(AxisConfiguration.java:516)
at
org.apache.axis2.deployment.ServiceDeployer.undeploy(ServiceDeployer.java:188)
at
org.apache.axis2.deployment.DeploymentEngine.unDeploy(DeploymentEngine.java:906)
at
org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:143)
at
org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:371)
at
org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
at
org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:365)
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.run(CarbonDeploymentSchedulerTask.java:66)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
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:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:705)
[2012-01-25 05:51:57,470] @3000.abw [6451] [WSO2 Stratos Application
Server]ERROR {org.wso2.carbon.core.deployment.DeploymentInterceptor} -
Exception occurred while handling service update event. {3000.abw[6451]}
org.wso2.carbon.CarbonException: Could not get the Service resource from
Config Registry
at
org.wso2.carbon.core.persistence.AbstractPersistenceManager.handleException(AbstractPersistenceManager.java:479)
at
org.wso2.carbon.core.persistence.ServicePersistenceManager.getService(ServicePersistenceManager.java:110)
at
org.wso2.carbon.core.deployment.DeploymentInterceptor.serviceUpdate(DeploymentInterceptor.java:254)
at
org.apache.axis2.engine.AxisConfiguration.notifyObservers(AxisConfiguration.java:652)
at
org.apache.axis2.engine.AxisConfiguration.removeServiceGroup(AxisConfiguration.java:516)
at
org.apache.axis2.deployment.ServiceDeployer.undeploy(ServiceDeployer.java:188)
at
org.apache.axis2.deployment.DeploymentEngine.unDeploy(DeploymentEngine.java:906)
at
org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:143)
at
org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:371)
at
org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
at
org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:365)
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.run(CarbonDeploymentSchedulerTask.java:66)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
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:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:705)
Caused by:
org.wso2.carbon.registry.core.exceptions.ResourceNotFoundException:
Resource does not exist at path
/_system/config/repository/axis2/service-groups/Chad/services/Chad
at
org.wso2.carbon.registry.core.jdbc.handlers.builtin.MountHandler.get(MountHandler.java:426)
at
org.wso2.carbon.registry.core.jdbc.handlers.HandlerManager.get(HandlerManager.java:2378)
at
org.wso2.carbon.registry.core.jdbc.handlers.UserDefinedHandlerManager.get(UserDefinedHandlerManager.java:200)
at
org.wso2.carbon.registry.core.jdbc.handlers.HandlerLifecycleManager.get(HandlerLifecycleManager.java:814)
at
org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.get(EmbeddedRegistry.java:512)
at
org.wso2.carbon.registry.core.caching.CacheBackedRegistry.get(CacheBackedRegistry.java:133)
at
org.wso2.carbon.registry.core.session.UserRegistry.get(UserRegistry.java:528)
at
org.wso2.carbon.core.persistence.ServicePersistenceManager.getService(ServicePersistenceManager.java:89)
... 21 more
[2012-01-25 05:51:57,485] INFO
{org.apache.axis2.deployment.ServiceDeployer} - Undeploying Web service:
Chad
Thank you.
Regards,
Pradeeban.
--
Kathiravelu Pradeeban.
Software Engineer.
Cloud Technologies Team.
WSO2 Inc.
Blog: [Llovizna] http://kkpradeeban.blogspot.com/
M: +94 776 477 976
_______________________________________________
Carbon-dev mailing list
[email protected]
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev