|
|
|
Scott Hong
|
Hi,
I followed the steps by tracing through the differences to migrate my AppFuse based application from Acegi secutiry to Spring Security. There are changes/customizations to use Freemarker as the major view renderer. One issue I observed is that it took a significant longer time (5 seconds) to get the signup page rendered. After tracing into the code, it seems to be caused by the pointcut expression cannot be parsed correctly resulted in AspectJ/forName throwing tons of "ClassNotFound Exception" and been swallowed deep inside the code. As shown below as extracted from security.xml, if the "pointcut" using fully quality classpath will results in ClassNotFound exceptions (tons of them) which the second form works ok. Displaying the signup page shotened from 5 seconds to about 1 second. I am still trying to figure out why for a single signup page could take such a long time to render. Spring Security setting security.xml <!-- This one will cause ClassNotFound exception --> <global-method-security> <protect-pointcut expression="execution(* org.appfuse.app.service.UserManager.getUsers(..))" access="ROLE_ADMIN"/> <protect-pointcut expression="execution(* com.appfuse.app.service.UserManager.removeUser(..))" access="ROLE_ADMIN"/> </global-method-security> <-- This one works ok --> <global-method-security> <protect-pointcut expression="execution(* *..service.UserManager.getUsers(..))" access="ROLE_ADMIN"/> <protect-pointcut expression="execution(* *..service.UserManager.removeUser(..))" access="ROLE_ADMIN"/> </global-method-security> I've tried spring security 2.0.0 and 2.0.1 as well as AspectJ 1.5.2a and 1.5.4 with the same problem. I remember seeing AspectJ 1.6.0 is about to be released but I don't know whether this will solve the problem or not. Any one encounter the same issues? Thanks, -- Scott Hong |
||||||||||||||||
|
mraible
|
I haven't seen this issue and haven't noticed an abnormally long time
to render the signup pages. What web framework are you using? I'm happy to make the change you suggest below, but I'm not convinced it's necessary. FWIW, we have upgraded to AspectJ 1.6.0 for AppFuse 2.0.2. Matt On Sun, May 4, 2008 at 9:09 AM, Scott Hong <[hidden email]> wrote: > > Hi, > > I followed the steps by tracing through the differences to migrate my > AppFuse based application from Acegi secutiry to Spring Security. There are > changes/customizations to use Freemarker as the major view renderer. > > One issue I observed is that it took a significant longer time (5 seconds) > to get the signup page rendered. After tracing into the code, it seems to be > caused by the pointcut expression cannot be parsed correctly resulted in > AspectJ/forName throwing tons of "ClassNotFound Exception" and been > swallowed deep inside the code. As shown below as extracted from > security.xml, if the "pointcut" using fully quality classpath will results > in ClassNotFound exceptions (tons of them) which the second form works ok. > Displaying the signup page shotened from 5 seconds to about 1 second. I am > still trying to figure out why for a single signup page could take such a > long time to render. > > Spring Security setting security.xml > <!-- This one will cause ClassNotFound exception --> > <global-method-security> > <protect-pointcut expression="execution(* > org.appfuse.app.service.UserManager.getUsers(..))" access="ROLE_ADMIN"/> > <protect-pointcut expression="execution(* > com.appfuse.app.service.UserManager.removeUser(..))" access="ROLE_ADMIN"/> > </global-method-security> > > <-- This one works ok --> > <global-method-security> > <protect-pointcut expression="execution(* > *..service.UserManager.getUsers(..))" access="ROLE_ADMIN"/> > <protect-pointcut expression="execution(* > *..service.UserManager.removeUser(..))" access="ROLE_ADMIN"/> > </global-method-security> > > I've tried spring security 2.0.0 and 2.0.1 as well as AspectJ 1.5.2a and > 1.5.4 with the same problem. I remember seeing AspectJ 1.6.0 is about to be > released but I don't know whether this will solve the problem or not. > > Any one encounter the same issues? > > Thanks, > > -- Scott Hong > -- > View this message in context: http://www.nabble.com/AppFuse-Spring-Security-AspectJ-issues-tp17047478s2369p17047478.html > Sent from the AppFuse - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [hidden email] > For additional commands, e-mail: [hidden email] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [hidden email] For additional commands, e-mail: [hidden email] |
||||||||||||||||
|
mraible
|
In reply to this post
by Scott Hong
Your first e-mail to the list indicated that were having issues with
Spring Security. Now you're saying it's caused by FreeMarker. Are you saying that the first change (to security.xml) doesn't improve performance? Matt On Sun, May 4, 2008 at 4:09 PM, <[hidden email]> wrote: > Hi Matt, > > Thanks for the quick response. The framework I am using is Struts2. > The slow freemarker rendering is caused by the number of "struts" tags used in the template. It seems that each struts 2 tag used will cause a call back to "FreemarkerManager" to pupulate the model? Is it normal? I am not sure but it seems to be the bottleneck. It could be also the client side validation used for that action. > But taking 1 second for such a simple signup form seems not reasonable to me. > > Thanks! > -- Scott Hong > > > > mraible wrote: > > > > I haven't seen this issue and haven't noticed an abnormally long time > > to render the signup pages. What web framework are you using? I'm > > happy to make the change you suggest below, but I'm not convinced it's > > necessary. > > > > FWIW, we have upgraded to AspectJ 1.6.0 for AppFuse 2.0.2. > > > > Matt > > > > On Sun, May 4, 2008 at 9:09 AM, Scott Hong <[hidden email]> wrote: > >> > >> Hi, > >> > >> I followed the steps by tracing through the differences to migrate my > >> AppFuse based application from Acegi secutiry to Spring Security. There > >> are > >> changes/customizations to use Freemarker as the major view renderer. > >> > >> One issue I observed is that it took a significant longer time (5 > >> seconds) > >> to get the signup page rendered. After tracing into the code, it seems > >> to be > >> caused by the pointcut expression cannot be parsed correctly resulted in > >> AspectJ/forName throwing tons of "ClassNotFound Exception" and been > >> swallowed deep inside the code. As shown below as extracted from > >> security.xml, if the "pointcut" using fully quality classpath will > >> results > >> in ClassNotFound exceptions (tons of them) which the second form works > >> ok. > >> Displaying the signup page shotened from 5 seconds to about 1 second. I > >> am > >> still trying to figure out why for a single signup page could take such > >> a > >> long time to render. > >> > >> Spring Security setting security.xml > >> <!-- This one will cause ClassNotFound exception --> > >> <global-method-security> > >> <protect-pointcut expression="execution(* > >> org.appfuse.app.service.UserManager.getUsers(..))" access="ROLE_ADMIN"/> > >> <protect-pointcut expression="execution(* > >> com.appfuse.app.service.UserManager.removeUser(..))" > >> access="ROLE_ADMIN"/> > >> </global-method-security> > >> > >> <-- This one works ok --> > >> <global-method-security> > >> <protect-pointcut expression="execution(* > >> *..service.UserManager.getUsers(..))" access="ROLE_ADMIN"/> > >> <protect-pointcut expression="execution(* > >> *..service.UserManager.removeUser(..))" access="ROLE_ADMIN"/> > >> </global-method-security> > >> > >> I've tried spring security 2.0.0 and 2.0.1 as well as AspectJ 1.5.2a and > >> 1.5.4 with the same problem. I remember seeing AspectJ 1.6.0 is about to > >> be > >> released but I don't know whether this will solve the problem or not. > >> > >> Any one encounter the same issues? > >> > >> Thanks, > >> > >> -- Scott Hong > >> -- > >> View this message in context: > >> http://www.nabble.com/AppFuse-Spring-Security-AspectJ-issues-tp17047478s2369p17047478.html > >> Sent from the AppFuse - User mailing list archive at Nabble.com. > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [hidden email] > >> For additional commands, e-mail: [hidden email] > >> > >> > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [hidden email] > > For additional commands, e-mail: [hidden email] > > > > > > > Quoted from: > http://www.nabble.com/AppFuse-Spring-Security-AspectJ-issues-tp17047478s2369p17047556.html > > --------------------------------------------------------------------- To unsubscribe, e-mail: [hidden email] For additional commands, e-mail: [hidden email] |
||||||||||||||||
|
Scott Hong
|
Matt,
The problem is actually caused by Spring Security with the "PointCut" expression after tracing into the exception code. I am pretty sure of this part. Freemarker part is a separate issue on itself. Please ignore this part. Thanks, -Scott
|
||||
|
mraible
|
Can you please enter a bug in JIRA for this? If you enter it today, I
should be able to get it into the 2.0.2 release. Please provide steps to reproduce on a 2.0.2-SNAPSHOT project. http://issues.appfuse.org Matt On Mon, May 5, 2008 at 5:52 AM, Scott Hong <[hidden email]> wrote: > > Matt, > > The problem is actually caused by Spring Security with the "PointCut" > expression after tracing into the exception code. I am pretty sure of this > part. Freemarker part is a separate issue on itself. Please ignore this > part. > > Thanks, > > -Scott > > > > > mraible wrote: > > > > Your first e-mail to the list indicated that were having issues with > > Spring Security. Now you're saying it's caused by FreeMarker. Are you > > saying that the first change (to security.xml) doesn't improve > > performance? > > > > Matt > > > > On Sun, May 4, 2008 at 4:09 PM, <[hidden email]> wrote: > >> Hi Matt, > >> > >> Thanks for the quick response. The framework I am using is Struts2. > >> The slow freemarker rendering is caused by the number of "struts" tags > >> used in the template. It seems that each struts 2 tag used will cause a > >> call back to "FreemarkerManager" to pupulate the model? Is it normal? I > >> am not sure but it seems to be the bottleneck. It could be also the > >> client side validation used for that action. > >> But taking 1 second for such a simple signup form seems not reasonable > >> to me. > >> > >> Thanks! > >> -- Scott Hong > >> > >> > >> > >> mraible wrote: > >> > > >> > I haven't seen this issue and haven't noticed an abnormally long time > >> > to render the signup pages. What web framework are you using? I'm > >> > happy to make the change you suggest below, but I'm not convinced it's > >> > necessary. > >> > > >> > FWIW, we have upgraded to AspectJ 1.6.0 for AppFuse 2.0.2. > >> > > >> > Matt > >> > > >> > On Sun, May 4, 2008 at 9:09 AM, Scott Hong <[hidden email]> wrote: > >> >> > >> >> Hi, > >> >> > >> >> I followed the steps by tracing through the differences to migrate > >> my > >> >> AppFuse based application from Acegi secutiry to Spring Security. > >> There > >> >> are > >> >> changes/customizations to use Freemarker as the major view renderer. > >> >> > >> >> One issue I observed is that it took a significant longer time (5 > >> >> seconds) > >> >> to get the signup page rendered. After tracing into the code, it > >> seems > >> >> to be > >> >> caused by the pointcut expression cannot be parsed correctly > >> resulted in > >> >> AspectJ/forName throwing tons of "ClassNotFound Exception" and been > >> >> swallowed deep inside the code. As shown below as extracted from > >> >> security.xml, if the "pointcut" using fully quality classpath will > >> >> results > >> >> in ClassNotFound exceptions (tons of them) which the second form > >> works > >> >> ok. > >> >> Displaying the signup page shotened from 5 seconds to about 1 > >> second. I > >> >> am > >> >> still trying to figure out why for a single signup page could take > >> such > >> >> a > >> >> long time to render. > >> >> > >> >> Spring Security setting security.xml > >> >> <!-- This one will cause ClassNotFound exception --> > >> >> <global-method-security> > >> >> <protect-pointcut expression="execution(* > >> >> org.appfuse.app.service.UserManager.getUsers(..))" > >> access="ROLE_ADMIN"/> > >> >> <protect-pointcut expression="execution(* > >> >> com.appfuse.app.service.UserManager.removeUser(..))" > >> >> access="ROLE_ADMIN"/> > >> >> </global-method-security> > >> >> > >> >> <-- This one works ok --> > >> >> <global-method-security> > >> >> <protect-pointcut expression="execution(* > >> >> *..service.UserManager.getUsers(..))" access="ROLE_ADMIN"/> > >> >> <protect-pointcut expression="execution(* > >> >> *..service.UserManager.removeUser(..))" access="ROLE_ADMIN"/> > >> >> </global-method-security> > >> >> > >> >> I've tried spring security 2.0.0 and 2.0.1 as well as AspectJ 1.5.2a > >> and > >> >> 1.5.4 with the same problem. I remember seeing AspectJ 1.6.0 is > >> about to > >> >> be > >> >> released but I don't know whether this will solve the problem or > >> not. > >> >> > >> >> Any one encounter the same issues? > >> >> > >> >> Thanks, > >> >> > >> >> -- Scott Hong > >> >> -- > >> >> View this message in context: > >> >> > >> http://www.nabble.com/AppFuse-Spring-Security-AspectJ-issues-tp17047478s2369p17047478.html > >> >> Sent from the AppFuse - User mailing list archive at Nabble.com. > >> >> > >> >> > >> >> > >> --------------------------------------------------------------------- > >> >> To unsubscribe, e-mail: [hidden email] > >> >> For additional commands, e-mail: [hidden email] > >> >> > >> >> > >> > > >> > --------------------------------------------------------------------- > >> > To unsubscribe, e-mail: [hidden email] > >> > For additional commands, e-mail: [hidden email] > >> > > >> > > >> > > >> Quoted from: > >> > >> http://www.nabble.com/AppFuse-Spring-Security-AspectJ-issues-tp17047478s2369p17047556.html > >> > >> > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [hidden email] > > For additional commands, e-mail: [hidden email] > > > > > > > > -- > View this message in context: http://www.nabble.com/AppFuse-Spring-Security-AspectJ-issues-tp17047478s2369p17059991.html > > > Sent from the AppFuse - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [hidden email] > For additional commands, e-mail: [hidden email] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [hidden email] For additional commands, e-mail: [hidden email] |
||||||||||||||||
|
Scott Hong
|
Hi Matt,
I will try to reproduce using 2.0.2 snapshot tonight. Thanks! --Scott
|
||||||||||||||||
|
Scott Hong
|
Matt,
I've submitted an issue. http://issues.appfuse.org/browse/APF-1062 Using the original security pointcut settings, it actually took longer (10 seconds) to load the first time compared to the changes one. Thanks, -Scott Hong
|
||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |