shamik
2009-02-28 02:44:45 UTC
Hi,
I'm using Aspectwerkz for the first time for a hot deploy / undeploy. The
hot deploy is working fine and my aspect is getting
deployed. But, whenever I perform undeploy, the deployed aspects don't
revert back. Not sure what the issue is since I don't see any error. Here's
the code snippet I'm using :
private static Map<String, DeploymentHandle> aopHandlerMap = new
HashMap<String, DeploymentHandle>();
public void deployAOP(String scopeName){
try{
SystemDefinition sysDef =
SystemDefinitionContainer.getDefinitionFor(this.getClass().getClassLoader(),"eeonline");
DeploymentScope scope = sysDef.getDeploymentScope(scopeName);
DeploymentHandle handle = Deployer.deploy(com.ee.ApiAspect.class,
"<aspect name='SystemdomainAO'>" + " "
+ " <pointcut name='methodExecution'"
+ " expression='execution(public * com.ee.systemdomainao*..*(..))'/>"
+ " <advice name='collectMetrics(StaticJoinPoint sjp)'" + "
type='around'" + " bind-to='methodExecution'/>"
+ " </aspect>" , scope);
m_logger.debug("Got handle in deploy..........."+handle.toString());
aopHandlerMap.put(scopeName , handle);
}catch(Exception ex){
ex.printStackTrace();
}
}
/**
* @param scopeName
*/
public void undeployAOP(String scopeName){
try{
if(aopHandlerMap!=null){
m_logger.debug("Inside undeployAOP scopeName..........."+scopeName);
m_logger.debug("Got handle in
undeploy..........."+aopHandlerMap.get(scopeName).toString());
Deployer.undeploy(aopHandlerMap.get(scopeName));
m_logger.debug("Done with undeployAOP ...........");
}
}catch(Exception ex){
ex.printStackTrace();
}
}
public void undeployAOP(){
try{
if(aopHandlerMap!=null){
Deployer.undeploy(com.ee.ApiAspect.class,
this.getClass().getClassLoader());
m_logger.debug("Done with undeployAOP ...........");
}
}catch(Exception ex){
ex.printStackTrace();
}
}
Here's the deployment scope :
<system id="eeonline">
<deployment-scope name="systemdomainao" expression="execution(public *
com.ee.systemdomainao*..*(..))"/>
</system>
=============== deploy log ================
Deployer::INFO - deploying aspect [com.ee.ApiAspect] in class loader
[WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
***@1326484
]
================ Undeploy Log =================
Deployer::INFO - undeploying aspect [com.ee.ApiAspect]] from class loader
[WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
***@1326484
]
I'm using Tomcat 5 and JDK 1.5 . I verified the handler, its the same one
during deploy and undeploy. I've also tried the undeploy API w/o using the
handler, rather using the aspect class directly. It didn't work either.
Any pointer will be highly appreciated .
Thanks
I'm using Aspectwerkz for the first time for a hot deploy / undeploy. The
hot deploy is working fine and my aspect is getting
deployed. But, whenever I perform undeploy, the deployed aspects don't
revert back. Not sure what the issue is since I don't see any error. Here's
the code snippet I'm using :
private static Map<String, DeploymentHandle> aopHandlerMap = new
HashMap<String, DeploymentHandle>();
public void deployAOP(String scopeName){
try{
SystemDefinition sysDef =
SystemDefinitionContainer.getDefinitionFor(this.getClass().getClassLoader(),"eeonline");
DeploymentScope scope = sysDef.getDeploymentScope(scopeName);
DeploymentHandle handle = Deployer.deploy(com.ee.ApiAspect.class,
"<aspect name='SystemdomainAO'>" + " "
+ " <pointcut name='methodExecution'"
+ " expression='execution(public * com.ee.systemdomainao*..*(..))'/>"
+ " <advice name='collectMetrics(StaticJoinPoint sjp)'" + "
type='around'" + " bind-to='methodExecution'/>"
+ " </aspect>" , scope);
m_logger.debug("Got handle in deploy..........."+handle.toString());
aopHandlerMap.put(scopeName , handle);
}catch(Exception ex){
ex.printStackTrace();
}
}
/**
* @param scopeName
*/
public void undeployAOP(String scopeName){
try{
if(aopHandlerMap!=null){
m_logger.debug("Inside undeployAOP scopeName..........."+scopeName);
m_logger.debug("Got handle in
undeploy..........."+aopHandlerMap.get(scopeName).toString());
Deployer.undeploy(aopHandlerMap.get(scopeName));
m_logger.debug("Done with undeployAOP ...........");
}
}catch(Exception ex){
ex.printStackTrace();
}
}
public void undeployAOP(){
try{
if(aopHandlerMap!=null){
Deployer.undeploy(com.ee.ApiAspect.class,
this.getClass().getClassLoader());
m_logger.debug("Done with undeployAOP ...........");
}
}catch(Exception ex){
ex.printStackTrace();
}
}
Here's the deployment scope :
<system id="eeonline">
<deployment-scope name="systemdomainao" expression="execution(public *
com.ee.systemdomainao*..*(..))"/>
</system>
=============== deploy log ================
Deployer::INFO - deploying aspect [com.ee.ApiAspect] in class loader
[WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
***@1326484
]
================ Undeploy Log =================
Deployer::INFO - undeploying aspect [com.ee.ApiAspect]] from class loader
[WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
***@1326484
]
I'm using Tomcat 5 and JDK 1.5 . I verified the handler, its the same one
during deploy and undeploy. I've also tried the undeploy API w/o using the
handler, rather using the aspect class directly. It didn't work either.
Any pointer will be highly appreciated .
Thanks
--
View this message in context: http://www.nabble.com/Aspectwerkz-undeploy-not-working-tp22258131p22258131.html
Sent from the AspectWerkz - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
View this message in context: http://www.nabble.com/Aspectwerkz-undeploy-not-working-tp22258131p22258131.html
Sent from the AspectWerkz - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email