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

Raman Mishra <[email protected]> Wed, 1 Jun 2005 07:20:37 -0700
Newsgroups gmane.comp.java.aspectwerkz.user
Message-ID <[email protected]>
All the jars are included in APP-INF/lib folder, which is a part of ear. 
According to weblogic server documentation we have to put all the shared 
library in this folder(
http://e-docs.bea.com/wls/docs81/programming/classloading.html#1065667).
 Thanks 
 Raman

 On 6/1/05, Alexandru Popescu <[email protected]> wrote: 
> 
> #: 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::.|
>