Hi, 

I've found that introducing a pointcut over my portlet and application
makes Wicket to scream...

It seesm that pointcut is effective but interfere with wicket normal
init. I tried to setup the pointcut over the
pages instead, where the hibernate daos are used but it has no effect. 

What can be wrong there?

Thank's a lot!

---------------------------


GRAVE: Excepción arrancando filtro CustomerListPortlet
java.lang.IllegalStateException: the application key does not seem to be
set properly or this method is called before WicketServlet is set, which
leads to the wrong behavior
        at
org.apache.wicket.protocol.http.WebApplication.getApplicationKey(WebApplication.java:164)
        at org.apache.wicket.Application.internalInit(Application.java:989)
        at
org.apache.wicket.protocol.http.WebApplication.internalInit(WebApplication.java:551)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at org.springframework.aop.framework.Cglib2AopProxy
$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:697)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.Cglib2AopProxy
$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
        at
com.level2crm.portals.crm.wicket.customerlist.WicketCustomerListApplication$$EnhancerByCGLIB$$826be947.internalInit(<generated>)
        at
org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:693)
        at
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
        at
org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
        at
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
        at
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3800)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4450)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
        at
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
        at
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:556)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:491)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:516)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)


Pointcut

  <aop:config>
                <aop:pointcut id="portlets" expression="execution(*
com.level2crm.portals.crm.wicket.customerlist..*+.*(..))"/>
                <aop:advisor advice-ref="txAdvice" pointcut-ref="portlets"/>
        </aop:config>


and advice...

        <tx:advice id="txAdvice" transaction-manager="txManager">
                <!-- the transactional semantics... -->
                <tx:attributes>
                        <!-- all methods starting with 'get' are read-only -->
                        <tx:method name="get*"  propagation="REQUIRED" 
read-only="true" />
                        <!-- other methods use the default transaction settings 
(see below)
-->
                        <tx:method name="*"  propagation="REQUIRED" /> <!--
propagation="SUPPORTS" -->
                </tx:attributes>
        </tx:advice>

Reply via email to