Re: [aspectwerkz-user] Integarting ASPECTWERKZ 2.0 Offline weaving with Weblogic Portal Application

Alexandru Popescu <[email protected]> Wed, 01 Jun 2005 17:04:26 +0200
Newsgroups gmane.comp.java.aspectwerkz.user
Message-ID <[email protected]>
#: on behalf of Raman Mishra :: 6/1/2005 3:55 PM :#
> Hi , 
>  
> We are trying to use aspectwerkz(offline mode) in our weblogic portal 
> application. We are using aspect for each web and ejb modules.
> 
> But when we tried to access any page it's giving following exception 
> 
> java.lang.IllegalAccessError: tried to access method
> java.lang.Object.clone()Ljava/lang/Object;
> from class org.codehaus.aspectwerkz.expression.ArgsIndexVisitor
> at org.codehaus.aspectwerkz.expression.ArgsIndexVisitor.visit (
> ArgsIndexVisitor.java:93)
> at org.codehaus.aspectwerkz.expression.ast.ASTPointcutReference.jjtAccept(
> ASTPointcutReference.java:33)
> at org.codehaus.aspectwerkz.expression.ExpressionVisitor.visit(
> ExpressionVisitor.java :133)
> at org.codehaus.aspectwerkz.expression.ast.ASTExpression.jjtAccept(
> ASTExpression.java:18)
> at org.codehaus.aspectwerkz.expression.ExpressionVisitor.visit(
> ExpressionVisitor.java:121)
> at org.codehaus.aspectwerkz.expression.ExpressionVisitor.match (
> ExpressionVisitor.java:107)
> at 
> org.codehaus.aspectwerkz.expression.ArgsIndexVisitor.updateContextForRuntimeInformation
> (ArgsIndexVisitor.java:62)
> at 
> org.codehaus.aspectwerkz.joinpoint.management.JoinPointManager.getAdviceInfoContainerForJoinPoint(
> JoinPointManager.java:304)
> at 
> org.codehaus.aspectwerkz.joinpoint.management.JoinPointManager.compileJoinPoint
> (JoinPointManager.java:230)
> at 
> org.codehaus.aspectwerkz.joinpoint.management.JoinPointManager.loadJoinPoint(
> JoinPointManager.java:118)
> at db.DbController.aw$initJoinPoints(DbController.jpf)
> at db.DbController.<clinit>(DbController.jpf)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName( Class.java:140)
> at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.processActionCreate(
> PageFlowRequestProcessor.java:132)
> at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java
> :268)
> at com.bea.wlw.netui.pageflow .PageFlowRequestProcessor.process(
> PageFlowRequestProcessor.java:651)
> at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.process(
> AutoRegisterActionServlet.java:527)
> at com.bea.wlw.netui.pageflow.PageFlowActionServlet.process (
> PageFlowActionServlet.java:152)
> at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
> at javax.servlet.http.HttpServlet.service (HttpServlet.java:853)
> at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(
> ServletStubImpl.java:971)
> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(
> ServletStubImpl.java:402)
> at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
> at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java
> :27)
> at com.bea.p13n.servlets.PortalServletFilter.doFilter(
> PortalServletFilter.java :313)
> at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java
> :27)
> at 
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(
> WebAppServletContext.java:6356)
> at weblogic.security.acl.internal.AuthenticatedSubject.doAs (
> AuthenticatedSubject.java:317)
> at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
> at weblogic.servlet.internal.WebAppServletContext.invokeServlet(
> WebAppServletContext.java:3635)
> at weblogic.servlet.internal.ServletRequestImpl.execute (
> ServletRequestImpl.java:2585)
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
>> 
> 
> 
> My aop.xml is 
> 
> <!DOCTYPE aspectwerkz PUBLIC
> "-//AspectWerkz//DTD//EN"
> "http://aspectwerkz.codehaus.org/dtd/aspectwerkz.dtd ">
> 
> <aspectwerkz>
> <system id="farmework">
> <pointcut name="loggingRelated" expression="within(aop.*)
> OR within(example.*)
> OR execution(* db..*.getLog()) 
> OR execution(* ejb..*.getLog())
> OR within(common..*)
> "/>
> 
> 
> <pointcut name="avoidTrace" expression="!loggingRelated"/>
> 
> <!-- Profiling for ejb,web modules-->
> <aspect class="aop.ProfilingIdiom">
> <pointcut name="p3" expression="(execution(* db*..*.*(..)) OR
> execution(* ejb..*Bean.*(..)) )AND 
> avoidTrace"
> />
> <advice name="profile(StaticJoinPoint jp)" type="around" bind-to="p3"/>
> </aspect>
> <!-- Logging for web modules-->
> <aspect class=" aop.LoggingIdiom">
> <pointcut name="p2"
> expression="execution(* db..*.*(..)) AND
> avoidTrace"
> />
> <advice name="traceWithParams(JoinPoint jp, aop.Loggable loggable)"
> type="around"
> bind-to="p2 AND target(loggable)" />
> </aspect>
> 
> <!-- Logging for ejb modules-->
> <aspect class="example.logging.LoggingAspect" deployment-model="perJvm">
> <pointcut name="allMethods"
> expression="execution(* ejb..*Bean.*(..))"/> 
> <advice name="log" type="around" bind-to="allMethods" />
> </aspect>
> 
> <!--Loggable implementation for web module, it will implement Loggable 
> interface--> 
> <mixin class="aop.LoggableImpl"
> deployment-model="perClass"
> bind-to="within(db..*) OR within(controls..*) AND !within(aop.*)"/> 
> </system>
> </aspectwerkz>
> 
> what could be the possible reason for this ?
> The following jar files in our APP-INF/lib folder
>  aspectwerkz-2.0.jar
>  aspectwerkz-core-2.0.jar
> aspectwerkz-extensions-2.0.jar
> aspectwerkz-jdk14-2.0.jar
> qdox-1.4.jar
> concurrent-1.3.1.jar
> trove-1.0.2.jar
> jrexx-1.1.1.jar
>  and also we tried with the following jars 
>  aspectwerkz-2.0.jar
> aspectwerkz-core-2.0.jar
> aspectwerkz-extensions-2.0.jar
> aspectwerkz-nodeps-jdk14-2.0.jar
>  but in both ways giving same exception.
>  But if we put all the jars in the weblogic server startup classpath then 
> it's working.
>  I checked the list of jars on 
> http://aspectwerkz.codehaus.org/faq.html#other_nodeps , but it's not 
> working.
>  what all jars we need to put in APP-INF/lib folder or WEB-INF/lib folder? 
> 
>  
> Thanks
> 
> Raman
> 

What is APP-INF? (i don't think this is a standard). I think the jars should be included in your ear
(since you have both ejbs and web)

:alex |.::the_mindstorm::.|