<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Automatic http/httpS switching with Grails</title>
	<atom:link href="http://www.juliesoft.com/2010/04/automatic-httphttps-switching-with-grails/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.juliesoft.com/2010/04/automatic-httphttps-switching-with-grails/</link>
	<description>solve niche problems, make users happy</description>
	<lastBuildDate>Wed, 02 Nov 2011 10:38:26 -0400</lastBuildDate>
	
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: dd</title>
		<link>http://www.juliesoft.com/2010/04/automatic-httphttps-switching-with-grails/comment-page-1/#comment-4992</link>
		<dc:creator>dd</dc:creator>
		<pubDate>Wed, 02 Nov 2011 10:38:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.juliesoft.com/?p=336#comment-4992</guid>
		<description>hi, thanks for nice article. I have question about ports. I find out that Your solution works when Http port = 8080 and https port = 8443, but when I change it to some other values, i get error in browser:

Invalid redirection
&quot;Reload the page to get source for: http://localhost:9763/innowacje/login/auth&quot;

It happens when i click secure link from insecure part of website.

Is there a way to configure ports other than 8080, 8443 ?

thanks
dd</description>
		<content:encoded><![CDATA[<p>hi, thanks for nice article. I have question about ports. I find out that Your solution works when Http port = 8080 and https port = 8443, but when I change it to some other values, i get error in browser:</p>
<p>Invalid redirection<br />
&#8220;Reload the page to get source for: <a href="http://localhost:9763/innowacje/login/auth" rel="nofollow">http://localhost:9763/innowacje/login/auth</a>&#8221;</p>
<p>It happens when i click secure link from insecure part of website.</p>
<p>Is there a way to configure ports other than 8080, 8443 ?</p>
<p>thanks<br />
dd</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: nithya</title>
		<link>http://www.juliesoft.com/2010/04/automatic-httphttps-switching-with-grails/comment-page-1/#comment-4976</link>
		<dc:creator>nithya</dc:creator>
		<pubDate>Wed, 26 Oct 2011 06:30:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.juliesoft.com/?p=336#comment-4976</guid>
		<description>Could some one please help to solve the issue,i am getting the following error when executing the application.

 Exception starting filter channelProcessingFilter
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named &#039;channelProcessingFilter&#039; is defined
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:527)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1083)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:274)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:266)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1079)
        at org.springframework.web.filter.DelegatingFilterProxy.initDelegate(DelegatingFilterProxy.java:217)
        at org.springframework.web.filter.DelegatingFilterProxy.initFilterBean(DelegatingFilterProxy.java:145)
        at org.springframework.web.filter.GenericFilterBean.init(GenericFilterBean.java:179)
        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.(ApplicationFilterConfig.java:108)
        at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3827)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4477)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        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:515)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:708)
        at org.apache.catalina.startup.Tomcat.start(Tomcat.java:286)
        at org.apache.catalina.startup.Tomcat$start.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
        at org.grails.tomcat.TomcatServer.start(TomcatServer.groovy:212)
        at grails.web.container.EmbeddableServer$start.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)
        at _GrailsRun_groovy$_run_closure5_closure12.doCall(_GrailsRun_groovy:158)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
        at _GrailsRun_groovy$_run_closure5_closure12.doCall(_GrailsRun_groovy)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.Closure.call(Closure.java:282)
        at groovy.lang.Closure.call(Closure.java:277)
        at groovy.lang.Closure$call.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at groovy.lang.Closure$call.call(Unknown Source)
        at _GrailsSettings_groovy$_run_closure10.doCall(_GrailsSettings_groovy:280)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:56)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:153)
        at _GrailsSettings_groovy$_run_closure10.call(_GrailsSettings_groovy)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1104)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1060)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:706)
        at groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:44)
        at groovy.lang.Script.invokeMethod(Script.java:78)
        at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:1123)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1017)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:153)
        at _GrailsRun_groovy$_run_closure5.doCall(_GrailsRun_groovy:149)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
        at _GrailsRun_groovy$_run_closure5.call(_GrailsRun_groovy)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1104)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1060)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
        at _GrailsRun_groovy.runInline(_GrailsRun_groovy:116)
        at _GrailsRun_groovy.this$4$runInline(_GrailsRun_groovy)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1003)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)
        at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:127)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:161)
        at _GrailsRun_groovy$_run_closure1.doCall(_GrailsRun_groovy:59)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)
        at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:127)
        at groovy.lang.Closure.call(Closure.java:282)
        at groovy.lang.Closure.call(Closure.java:295)
        at sun.reflect.GeneratedMethodAccessor92.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)
        at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:127)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:54)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
        at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy:185)
        at sun.reflect.GeneratedMethodAccessor111.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
        at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy)
        at sun.reflect.GeneratedMethodAccessor110.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.Closure.call(Closure.java:282)
        at groovy.lang.Closure.call(Closure.java:277)
        at groovy.lang.Closure$call.call(Unknown Source)
        at org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90)
        at org.codehaus.gant.GantBinding.this$4$withTargetEvent(GantBinding.groovy)
        at sun.reflect.GeneratedMethodAccessor105.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1003)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:706)
        at groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:44)
        at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:1123)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1017)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)
        at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy:185)
        at sun.reflect.GeneratedMethodAccessor104.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
        at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy)
        at sun.reflect.GeneratedMethodAccessor103.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.Closure.call(Closure.java:282)
        at groovy.lang.Closure.call(Closure.java:277)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1104)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1060)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:706)
        at groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:44)
        at groovy.lang.Script.invokeMethod(Script.java:78)
        at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:1123)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1017)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)
        at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:127)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:145)
        at RunApp$_run_closure1.doCall(RunApp.groovy:33)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)
        at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:127)
        at groovy.lang.Closure.call(Closure.java:282)
        at groovy.lang.Closure.call(Closure.java:295)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)
        at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:127)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:54)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
        at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy:185)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
        at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.Closure.call(Closure.java:282)
        at groovy.lang.Closure.call(Closure.java:277)
        at groovy.lang.Closure$call.call(Unknown Source)
        at org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90)
        at org.codehaus.gant.GantBinding.this$4$withTargetEvent(GantBinding.groovy)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1003)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:706)
        at groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:44)
        at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:1123)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1017)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)
        at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy:185)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
        at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.Closure.call(Closure.java:282)
        at groovy.lang.Closure.call(Closure.java:277)
        at groovy.lang.Closure$call.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
        at gant.Gant$_dispatch_closure5.doCall(Gant.groovy:381)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.Closure.call(Closure.java:282)
        at groovy.lang.Closure.call(Closure.java:295)
        at groovy.lang.Closure$call$0.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
        at gant.Gant$_dispatch_closure7.doCall(Gant.groovy:415)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
        at gant.Gant$_dispatch_closure7.doCall(Gant.groovy)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.Closure.call(Closure.java:282)
        at groovy.lang.Closure.call(Closure.java:277)
        at groovy.lang.Closure$call.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
        at gant.Gant.withBuildListeners(Gant.groovy:427)
        at gant.Gant.this$2$withBuildListeners(Gant.groovy)
        at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
        at gant.Gant.dispatch(Gant.groovy:415)
        at gant.Gant.this$2$dispatch(Gant.groovy)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:708)
        at gant.Gant.invokeMethod(Gant.groovy)
        at groovy.lang.GroovyObject$invokeMethod.callCurrent(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:153)
        at gant.Gant.executeTargets(Gant.groovy:590)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:153)
        at gant.Gant.executeTargets(Gant.groovy:589)
        at org.codehaus.groovy.grails.cli.GrailsScriptRunner.executeWithGantInstance(GrailsScriptRunner.java:667)
        at org.codehaus.groovy.grails.cli.GrailsScriptRunner.callPluginOrGrailsScript(GrailsScriptRunner.java:526)
        at org.codehaus.groovy.grails.cli.GrailsScriptRunner.executeCommand(GrailsScriptRunner.java:310)
        at org.codehaus.groovy.grails.cli.GrailsScriptRunner.main(GrailsScriptRunner.java:135)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:234)
        at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:262)
2011-10-26 11:58:46,666 [main] ERROR core.StandardContext  - Error filterStart
2011-10-26 11:58:46,666 [main] ERROR core.StandardContext  - Context [] startup failed due to previous errors
Server running. Browse to http://localhost:8095/

Thanks &amp; Regards,
Nithya</description>
		<content:encoded><![CDATA[<p>Could some one please help to solve the issue,i am getting the following error when executing the application.</p>
<p> Exception starting filter channelProcessingFilter<br />
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named &#8216;channelProcessingFilter&#8217; is defined<br />
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:527)<br />
        at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1083)<br />
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:274)<br />
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)<br />
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:266)<br />
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)<br />
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1079)<br />
        at org.springframework.web.filter.DelegatingFilterProxy.initDelegate(DelegatingFilterProxy.java:217)<br />
        at org.springframework.web.filter.DelegatingFilterProxy.initFilterBean(DelegatingFilterProxy.java:145)<br />
        at org.springframework.web.filter.GenericFilterBean.init(GenericFilterBean.java:179)<br />
        at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)<br />
        at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)<br />
        at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:108)<br />
        at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3827)<br />
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4477)<br />
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)<br />
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)<br />
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)<br />
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)<br />
        at org.apache.catalina.core.StandardService.start(StandardService.java:515)<br />
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:708)<br />
        at org.apache.catalina.startup.Tomcat.start(Tomcat.java:286)<br />
        at org.apache.catalina.startup.Tomcat$start.call(Unknown Source)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)<br />
        at org.grails.tomcat.TomcatServer.start(TomcatServer.groovy:212)<br />
        at grails.web.container.EmbeddableServer$start.call(Unknown Source)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)<br />
        at _GrailsRun_groovy$_run_closure5_closure12.doCall(_GrailsRun_groovy:158)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)<br />
        at _GrailsRun_groovy$_run_closure5_closure12.doCall(_GrailsRun_groovy)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.Closure.call(Closure.java:282)<br />
        at groovy.lang.Closure.call(Closure.java:277)<br />
        at groovy.lang.Closure$call.call(Unknown Source)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)<br />
        at groovy.lang.Closure$call.call(Unknown Source)<br />
        at _GrailsSettings_groovy$_run_closure10.doCall(_GrailsSettings_groovy:280)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:56)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:153)<br />
        at _GrailsSettings_groovy$_run_closure10.call(_GrailsSettings_groovy)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1104)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1060)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:706)<br />
        at groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:44)<br />
        at groovy.lang.Script.invokeMethod(Script.java:78)<br />
        at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:1123)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1017)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:153)<br />
        at _GrailsRun_groovy$_run_closure5.doCall(_GrailsRun_groovy:149)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)<br />
        at _GrailsRun_groovy$_run_closure5.call(_GrailsRun_groovy)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1104)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1060)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)<br />
        at _GrailsRun_groovy.runInline(_GrailsRun_groovy:116)<br />
        at _GrailsRun_groovy.this$4$runInline(_GrailsRun_groovy)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1003)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)<br />
        at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:127)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:161)<br />
        at _GrailsRun_groovy$_run_closure1.doCall(_GrailsRun_groovy:59)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)<br />
        at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:127)<br />
        at groovy.lang.Closure.call(Closure.java:282)<br />
        at groovy.lang.Closure.call(Closure.java:295)<br />
        at sun.reflect.GeneratedMethodAccessor92.invoke(Unknown Source)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)<br />
        at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:127)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:54)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)<br />
        at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy:185)<br />
        at sun.reflect.GeneratedMethodAccessor111.invoke(Unknown Source)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)<br />
        at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy)<br />
        at sun.reflect.GeneratedMethodAccessor110.invoke(Unknown Source)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.Closure.call(Closure.java:282)<br />
        at groovy.lang.Closure.call(Closure.java:277)<br />
        at groovy.lang.Closure$call.call(Unknown Source)<br />
        at org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90)<br />
        at org.codehaus.gant.GantBinding.this$4$withTargetEvent(GantBinding.groovy)<br />
        at sun.reflect.GeneratedMethodAccessor105.invoke(Unknown Source)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1003)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:706)<br />
        at groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:44)<br />
        at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:1123)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1017)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)<br />
        at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy:185)<br />
        at sun.reflect.GeneratedMethodAccessor104.invoke(Unknown Source)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)<br />
        at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy)<br />
        at sun.reflect.GeneratedMethodAccessor103.invoke(Unknown Source)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.Closure.call(Closure.java:282)<br />
        at groovy.lang.Closure.call(Closure.java:277)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1104)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1060)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:706)<br />
        at groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:44)<br />
        at groovy.lang.Script.invokeMethod(Script.java:78)<br />
        at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:1123)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1017)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)<br />
        at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:127)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:145)<br />
        at RunApp$_run_closure1.doCall(RunApp.groovy:33)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)<br />
        at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:127)<br />
        at groovy.lang.Closure.call(Closure.java:282)<br />
        at groovy.lang.Closure.call(Closure.java:295)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)<br />
        at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:127)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:54)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)<br />
        at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy:185)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)<br />
        at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.Closure.call(Closure.java:282)<br />
        at groovy.lang.Closure.call(Closure.java:277)<br />
        at groovy.lang.Closure$call.call(Unknown Source)<br />
        at org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90)<br />
        at org.codehaus.gant.GantBinding.this$4$withTargetEvent(GantBinding.groovy)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1003)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:706)<br />
        at groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:44)<br />
        at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:1123)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1017)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)<br />
        at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy:185)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)<br />
        at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.Closure.call(Closure.java:282)<br />
        at groovy.lang.Closure.call(Closure.java:277)<br />
        at groovy.lang.Closure$call.call(Unknown Source)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)<br />
        at gant.Gant$_dispatch_closure5.doCall(Gant.groovy:381)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.Closure.call(Closure.java:282)<br />
        at groovy.lang.Closure.call(Closure.java:295)<br />
        at groovy.lang.Closure$call$0.call(Unknown Source)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)<br />
        at gant.Gant$_dispatch_closure7.doCall(Gant.groovy:415)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)<br />
        at gant.Gant$_dispatch_closure7.doCall(Gant.groovy)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.Closure.call(Closure.java:282)<br />
        at groovy.lang.Closure.call(Closure.java:277)<br />
        at groovy.lang.Closure$call.call(Unknown Source)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)<br />
        at gant.Gant.withBuildListeners(Gant.groovy:427)<br />
        at gant.Gant.this$2$withBuildListeners(Gant.groovy)<br />
        at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)<br />
        at gant.Gant.dispatch(Gant.groovy:415)<br />
        at gant.Gant.this$2$dispatch(Gant.groovy)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br />
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)<br />
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)<br />
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:708)<br />
        at gant.Gant.invokeMethod(Gant.groovy)<br />
        at groovy.lang.GroovyObject$invokeMethod.callCurrent(Unknown Source)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:153)<br />
        at gant.Gant.executeTargets(Gant.groovy:590)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)<br />
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)<br />
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)<br />
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:153)<br />
        at gant.Gant.executeTargets(Gant.groovy:589)<br />
        at org.codehaus.groovy.grails.cli.GrailsScriptRunner.executeWithGantInstance(GrailsScriptRunner.java:667)<br />
        at org.codehaus.groovy.grails.cli.GrailsScriptRunner.callPluginOrGrailsScript(GrailsScriptRunner.java:526)<br />
        at org.codehaus.groovy.grails.cli.GrailsScriptRunner.executeCommand(GrailsScriptRunner.java:310)<br />
        at org.codehaus.groovy.grails.cli.GrailsScriptRunner.main(GrailsScriptRunner.java:135)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
        at java.lang.reflect.Method.invoke(Method.java:597)<br />
        at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:234)<br />
        at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:262)<br />
2011-10-26 11:58:46,666 [main] ERROR core.StandardContext  &#8211; Error filterStart<br />
2011-10-26 11:58:46,666 [main] ERROR core.StandardContext  &#8211; Context [] startup failed due to previous errors<br />
Server running. Browse to <a href="http://localhost:8095/" rel="nofollow">http://localhost:8095/</a></p>
<p>Thanks &amp; Regards,<br />
Nithya</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Filipe Cavalcante</title>
		<link>http://www.juliesoft.com/2010/04/automatic-httphttps-switching-with-grails/comment-page-1/#comment-2450</link>
		<dc:creator>Filipe Cavalcante</dc:creator>
		<pubDate>Sun, 10 Apr 2011 02:12:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.juliesoft.com/?p=336#comment-2450</guid>
		<description>&lt;!-- START: use SSL on secure pages --&gt;

	channelProcessingFilter
	/appName/

&lt;!-- END: use SSL on secure pages --&gt;</description>
		<content:encoded><![CDATA[<p><!-- START: use SSL on secure pages --></p>
<p>	channelProcessingFilter<br />
	/appName/</p>
<p><!-- END: use SSL on secure pages --></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Filipe Cavalcante</title>
		<link>http://www.juliesoft.com/2010/04/automatic-httphttps-switching-with-grails/comment-page-1/#comment-2449</link>
		<dc:creator>Filipe Cavalcante</dc:creator>
		<pubDate>Sun, 10 Apr 2011 02:08:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.juliesoft.com/?p=336#comment-2449</guid>
		<description>I had some problems with this tutorial because whem I executed my grails app, the https doesn&#039;t work in the link https:localhost:8443/appName/

It just work whem I put /appName/ in the xml file. Like this:


&lt;!-- START: use SSL on secure pages --&gt;

	channelProcessingFilter
	org.springframework.web.filter.DelegatingFilterProxy

&lt;!-- END: use SSL on secure pages --&gt;

&lt;!-- ... other filter definitions ... --&gt;

&lt;!-- START: use SSL on secure pages --&gt;

	channelProcessingFilter
	/appName/

&lt;!-- END: use SSL on secure pages --&gt;


I hope it helps other people that have the same problem as mine.</description>
		<content:encoded><![CDATA[<p>I had some problems with this tutorial because whem I executed my grails app, the https doesn&#8217;t work in the link https:localhost:8443/appName/</p>
<p>It just work whem I put /appName/ in the xml file. Like this:</p>
<p><!-- START: use SSL on secure pages --></p>
<p>	channelProcessingFilter<br />
	org.springframework.web.filter.DelegatingFilterProxy</p>
<p><!-- END: use SSL on secure pages --></p>
<p><!-- ... other filter definitions ... --></p>
<p><!-- START: use SSL on secure pages --></p>
<p>	channelProcessingFilter<br />
	/appName/</p>
<p><!-- END: use SSL on secure pages --></p>
<p>I hope it helps other people that have the same problem as mine.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Chase</title>
		<link>http://www.juliesoft.com/2010/04/automatic-httphttps-switching-with-grails/comment-page-1/#comment-2194</link>
		<dc:creator>Jon Chase</dc:creator>
		<pubDate>Sun, 13 Mar 2011 17:48:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.juliesoft.com/?p=336#comment-2194</guid>
		<description>@Stephen:

Yep, switching to HTTPS automatically shouldn&#039;t be too tough at all.  

The key would be to implement your own ChannelDecisionManager and plug it into grails-app/conf/spring/resources.groovy by replacing the ChannelDecisionManagerImpl reference with a reference to your implementation.  

Your implementation would just need to access the HttpServletRequest or HttpSession or whatever you use to store whether a user is logged in.  If they&#039;re logged in, your ChannelDecisionManager will redirect to the secure channel.

Hope this helps!
Jon</description>
		<content:encoded><![CDATA[<p>@Stephen:</p>
<p>Yep, switching to HTTPS automatically shouldn&#8217;t be too tough at all.  </p>
<p>The key would be to implement your own ChannelDecisionManager and plug it into grails-app/conf/spring/resources.groovy by replacing the ChannelDecisionManagerImpl reference with a reference to your implementation.  </p>
<p>Your implementation would just need to access the HttpServletRequest or HttpSession or whatever you use to store whether a user is logged in.  If they&#8217;re logged in, your ChannelDecisionManager will redirect to the secure channel.</p>
<p>Hope this helps!<br />
Jon</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stephen</title>
		<link>http://www.juliesoft.com/2010/04/automatic-httphttps-switching-with-grails/comment-page-1/#comment-2035</link>
		<dc:creator>Stephen</dc:creator>
		<pubDate>Tue, 22 Feb 2011 10:54:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.juliesoft.com/?p=336#comment-2035</guid>
		<description>Excellent post!

Is there any way to extend the existing channel config to switch to HTTPS for all url&#039;s if the user IS_FULLY_AUTHENICATED?

It would be nice to have the entire site switch to HTTPS when the user is logged in and HTTP when they are logged out (like facebook)

Thanks,
Stephen</description>
		<content:encoded><![CDATA[<p>Excellent post!</p>
<p>Is there any way to extend the existing channel config to switch to HTTPS for all url&#8217;s if the user IS_FULLY_AUTHENICATED?</p>
<p>It would be nice to have the entire site switch to HTTPS when the user is logged in and HTTP when they are logged out (like facebook)</p>
<p>Thanks,<br />
Stephen</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MattNZ</title>
		<link>http://www.juliesoft.com/2010/04/automatic-httphttps-switching-with-grails/comment-page-1/#comment-898</link>
		<dc:creator>MattNZ</dc:creator>
		<pubDate>Sun, 10 Oct 2010 14:18:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.juliesoft.com/?p=336#comment-898</guid>
		<description>Yeah I totally agree that sharing a secure session over http opens security holes. I think the reason most sites share sessions between http and https is for performance reasons so there is a real need to do it. i.e. my home page needs session info once logged in so I can show the logout button, but the page itself doesnt contain any sensitive data so there&#039;s no need to serve it over https. 
I just don&#039;t think there&#039;s a proper solution out there to accommodate this. 

Maybe one way to get around it would be able to encrypt only part of the request so that the header part of the request which contains the cookie and session info is encrypted and safe, where as the body content could be plain text. i.e. to be able to programmatically  choose what part of the response should be encrypted. This would be ideal for scenarios such as my home page example above. 

On another note, thanks for the blog - it was a lot of help.</description>
		<content:encoded><![CDATA[<p>Yeah I totally agree that sharing a secure session over http opens security holes. I think the reason most sites share sessions between http and https is for performance reasons so there is a real need to do it. i.e. my home page needs session info once logged in so I can show the logout button, but the page itself doesnt contain any sensitive data so there&#8217;s no need to serve it over https.<br />
I just don&#8217;t think there&#8217;s a proper solution out there to accommodate this. </p>
<p>Maybe one way to get around it would be able to encrypt only part of the request so that the header part of the request which contains the cookie and session info is encrypted and safe, where as the body content could be plain text. i.e. to be able to programmatically  choose what part of the response should be encrypted. This would be ideal for scenarios such as my home page example above. </p>
<p>On another note, thanks for the blog &#8211; it was a lot of help.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Chase</title>
		<link>http://www.juliesoft.com/2010/04/automatic-httphttps-switching-with-grails/comment-page-1/#comment-895</link>
		<dc:creator>Jon Chase</dc:creator>
		<pubDate>Sun, 10 Oct 2010 05:45:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.juliesoft.com/?p=336#comment-895</guid>
		<description>Matt - 

To recap, a session created under http will be available under https.  But not the other way around.  As far as a workaround to that problem, I don&#039;t have one.

So sharing a session between http/https isn&#039;t necessarily a tough thing to do technically.  However, you must ask yourself why an insecure session should be accessible behind https.  Or why should a securely created session be accessible over http?  After all, the point of https is security, and allowing insecure session access throws a lot of that security out the window.

Sorry I don&#039;t have a better answer. :)</description>
		<content:encoded><![CDATA[<p>Matt &#8211; </p>
<p>To recap, a session created under http will be available under https.  But not the other way around.  As far as a workaround to that problem, I don&#8217;t have one.</p>
<p>So sharing a session between http/https isn&#8217;t necessarily a tough thing to do technically.  However, you must ask yourself why an insecure session should be accessible behind https.  Or why should a securely created session be accessible over http?  After all, the point of https is security, and allowing insecure session access throws a lot of that security out the window.</p>
<p>Sorry I don&#8217;t have a better answer. <img src='http://www.juliesoft.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MattNZ</title>
		<link>http://www.juliesoft.com/2010/04/automatic-httphttps-switching-with-grails/comment-page-1/#comment-886</link>
		<dc:creator>MattNZ</dc:creator>
		<pubDate>Fri, 08 Oct 2010 18:30:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.juliesoft.com/?p=336#comment-886</guid>
		<description>A quick follow up to problem 2: a bit mroe investingation it seems that when a secured page is requested over https and the user isn&#039;t logged in, a session is created at the point of https request which means the cookie is set to &#039;secure&#039;. When the request is redirected back to the insecure login page, it runs into the same &#039;cant use the secure cookie on an insecure http request&#039; problem and therefore you&#039;ve lost access to the session SPRING_SECURITY_SAVED_REQUEST_KEY attribute.

Did you have another way of getting around all these problems Jon?</description>
		<content:encoded><![CDATA[<p>A quick follow up to problem 2: a bit mroe investingation it seems that when a secured page is requested over https and the user isn&#8217;t logged in, a session is created at the point of https request which means the cookie is set to &#8217;secure&#8217;. When the request is redirected back to the insecure login page, it runs into the same &#8216;cant use the secure cookie on an insecure http request&#8217; problem and therefore you&#8217;ve lost access to the session SPRING_SECURITY_SAVED_REQUEST_KEY attribute.</p>
<p>Did you have another way of getting around all these problems Jon?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MattNZ</title>
		<link>http://www.juliesoft.com/2010/04/automatic-httphttps-switching-with-grails/comment-page-1/#comment-885</link>
		<dc:creator>MattNZ</dc:creator>
		<pubDate>Fri, 08 Oct 2010 17:48:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.juliesoft.com/?p=336#comment-885</guid>
		<description>(apologies in advance for the long message). I just read your blog and the problem with sharing sessions across different protocols (http and https). I&#039;m got the same problem and there doesn&#039;t seem to be a fix or standard way of dealing with this.

I&#039;m using the spring-security-core (1.0.1) plugin which automatically creates and copies across the session information to a new session when authorizing a login. 
To get around this I set the create new session property to false for springsecurity i.e. in Config.groovy:
grails.plugins.springsecurity.apf.allowSessionCreation = false

I set the channel security to make the springsecurity authorization URL and any admin URL secure; css,js,images use ANY_CHANNEL and everything else INCLUDING the login page insecure. i.e. in Config.groovy:
grails.plugins.springsecurity.secureChannel.definition = [&#039;/j_spring_security_check/**&#039;:&#039;REQUIRES_SECURE_CHANNEL&#039;,  &#039;/admin/**&#039;:&#039;REQUIRES_SECURE_CHANNEL&#039;,  &#039;/images/**&#039;:&#039;ANY_CHANNEL&#039;,  &#039;/css/**&#039;:&#039;ANY_CHANNEL&#039;,  &#039;/js/**&#039;:&#039;ANY_CHANNEL&#039;,  &#039;/favicon.ico&#039;:&#039;ANY_CHANNEL&#039;,  &#039;/**&#039;:&#039;REQUIRES_INSECURE_CHANNEL&#039;]

And then I create a new session on the (unsecured) login page by calling request.getSession(true) in my auth action. This is to ensure an insecure session (cookie) is created before logging in. Once logged in, the app will now share this unsecured cookie for maintaining the session.

There are two problems with this though:
1. your site is now vulnerable against session-fixation attacks. To get around this I manually invalidate the old session before creating the new session on the login controller/auth action. This works but means you now lose any session data such as the FLASH_SCOPE and SPRING_SECURITY_SAVED_REQUEST_KEY. A workaround is to get these attributes before invalidating the old session and then set them on the new session, which is essentially what springsecurity does (I think) when it auto creates a session and migrates the data.

problem 2:
when trying to view a URL which is marked REQUIRES_SECURE_CHANNEL, if you&#039;re not logged in springsecurity will normally create a session (if one doesn&#039;t exist) and set the SPRING_SECURITY_SAVED_REQUEST_KEY attribute to the URL. But because the URL is marked REQUIRES_SECURE_CHANNEL, I think the redirect filter is redirecting the request before another springsecurity filter has a chance to set the SPRING_SECURITY_SAVED_REQUEST_KEY attribute so it loses that.
I might raise a Jira for this.</description>
		<content:encoded><![CDATA[<p>(apologies in advance for the long message). I just read your blog and the problem with sharing sessions across different protocols (http and https). I&#8217;m got the same problem and there doesn&#8217;t seem to be a fix or standard way of dealing with this.</p>
<p>I&#8217;m using the spring-security-core (1.0.1) plugin which automatically creates and copies across the session information to a new session when authorizing a login.<br />
To get around this I set the create new session property to false for springsecurity i.e. in Config.groovy:<br />
grails.plugins.springsecurity.apf.allowSessionCreation = false</p>
<p>I set the channel security to make the springsecurity authorization URL and any admin URL secure; css,js,images use ANY_CHANNEL and everything else INCLUDING the login page insecure. i.e. in Config.groovy:<br />
grails.plugins.springsecurity.secureChannel.definition = ['/j_spring_security_check/**':'REQUIRES_SECURE_CHANNEL',  '/admin/**':'REQUIRES_SECURE_CHANNEL',  '/images/**':'ANY_CHANNEL',  '/css/**':'ANY_CHANNEL',  '/js/**':'ANY_CHANNEL',  '/favicon.ico':'ANY_CHANNEL',  '/**':'REQUIRES_INSECURE_CHANNEL']</p>
<p>And then I create a new session on the (unsecured) login page by calling request.getSession(true) in my auth action. This is to ensure an insecure session (cookie) is created before logging in. Once logged in, the app will now share this unsecured cookie for maintaining the session.</p>
<p>There are two problems with this though:<br />
1. your site is now vulnerable against session-fixation attacks. To get around this I manually invalidate the old session before creating the new session on the login controller/auth action. This works but means you now lose any session data such as the FLASH_SCOPE and SPRING_SECURITY_SAVED_REQUEST_KEY. A workaround is to get these attributes before invalidating the old session and then set them on the new session, which is essentially what springsecurity does (I think) when it auto creates a session and migrates the data.</p>
<p>problem 2:<br />
when trying to view a URL which is marked REQUIRES_SECURE_CHANNEL, if you&#8217;re not logged in springsecurity will normally create a session (if one doesn&#8217;t exist) and set the SPRING_SECURITY_SAVED_REQUEST_KEY attribute to the URL. But because the URL is marked REQUIRES_SECURE_CHANNEL, I think the redirect filter is redirecting the request before another springsecurity filter has a chance to set the SPRING_SECURITY_SAVED_REQUEST_KEY attribute so it loses that.<br />
I might raise a Jira for this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kristo</title>
		<link>http://www.juliesoft.com/2010/04/automatic-httphttps-switching-with-grails/comment-page-1/#comment-704</link>
		<dc:creator>Kristo</dc:creator>
		<pubDate>Tue, 29 Jun 2010 18:49:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.juliesoft.com/?p=336#comment-704</guid>
		<description>Jon

I was just about to say, that having spent about many many hours and 12 emails over the last couple of days explaining mochahost exactly that solution, we finally got them out of denial and they have now made that change for me. Through waves of frustration we now have a working solution!

Thanks for the quick response though!
Kristo</description>
		<content:encoded><![CDATA[<p>Jon</p>
<p>I was just about to say, that having spent about many many hours and 12 emails over the last couple of days explaining mochahost exactly that solution, we finally got them out of denial and they have now made that change for me. Through waves of frustration we now have a working solution!</p>
<p>Thanks for the quick response though!<br />
Kristo</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Chase</title>
		<link>http://www.juliesoft.com/2010/04/automatic-httphttps-switching-with-grails/comment-page-1/#comment-703</link>
		<dc:creator>Jon Chase</dc:creator>
		<pubDate>Tue, 29 Jun 2010 17:53:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.juliesoft.com/?p=336#comment-703</guid>
		<description>Kristo - 

I was just going to say that I have an Apache HTTPD server doing the SSL work in front of Tomcat like you describe, but request.isSecure() still works correctly.  I believe I have 2 Connectors (I think that&#039;s what Tomcat calls them), one for http, one for https.  Apache is configured to forward to the correct one based on the protocol, which it sounds like your host is not doing.  I wonder if you could just get them to add another connector? 

Here&#039;s the setup in my Tomcat server.xml:

&lt;Connector port=&quot;8084&quot;     protocol=&quot;AJP/1.3&quot;    redirectPort=&quot;8443&quot;    enableLookups=&quot;false&quot;    proxyName=&quot;mydomain.com&quot;    proxyPort=&quot;80&quot;/&gt;
&lt;Connector port=&quot;8085&quot;     protocol=&quot;AJP/1.3&quot;    redirectPort=&quot;8443&quot;    enableLookups=&quot;false&quot;    proxyName=&quot;mydomain.com&quot;    proxyPort=&quot;443&quot;/&gt;</description>
		<content:encoded><![CDATA[<p>Kristo &#8211; </p>
<p>I was just going to say that I have an Apache HTTPD server doing the SSL work in front of Tomcat like you describe, but request.isSecure() still works correctly.  I believe I have 2 Connectors (I think that&#8217;s what Tomcat calls them), one for http, one for https.  Apache is configured to forward to the correct one based on the protocol, which it sounds like your host is not doing.  I wonder if you could just get them to add another connector? </p>
<p>Here&#8217;s the setup in my Tomcat server.xml:</p>
<p>&lt;Connector port=&quot;8084&quot;     protocol=&quot;AJP/1.3&quot;    redirectPort=&quot;8443&quot;    enableLookups=&quot;false&quot;    proxyName=&quot;mydomain.com&quot;    proxyPort=&quot;80&quot;/&gt;<br />
&lt;Connector port=&quot;8085&quot;     protocol=&quot;AJP/1.3&quot;    redirectPort=&quot;8443&quot;    enableLookups=&quot;false&quot;    proxyName=&quot;mydomain.com&quot;    proxyPort=&quot;443&quot;/&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kristo</title>
		<link>http://www.juliesoft.com/2010/04/automatic-httphttps-switching-with-grails/comment-page-1/#comment-701</link>
		<dc:creator>Kristo</dc:creator>
		<pubDate>Mon, 28 Jun 2010 22:31:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.juliesoft.com/?p=336#comment-701</guid>
		<description>Thanks for the suggestion - will certainly look into this, once we round the other problem we&#039;re now facing with this redirect scheme in production.

Apparently our hosting provider (mochahost, they be damned) has configured an Apache proxy to do the SSL in front of Tomcat and then redirects both HTTPS and HTTP requests to a common port in Tomcat. Therefore Tomcat is entirely unaware of whether the request came on port 80 or 443. request.isSecure() is always &quot;false&quot; and causes an endless redirect loop.

I&#039;ve tried to think of any other indication of how to work out where the request originated ... headers, cookies, etc.. but no luck yet. May end up changing the hosting.</description>
		<content:encoded><![CDATA[<p>Thanks for the suggestion &#8211; will certainly look into this, once we round the other problem we&#8217;re now facing with this redirect scheme in production.</p>
<p>Apparently our hosting provider (mochahost, they be damned) has configured an Apache proxy to do the SSL in front of Tomcat and then redirects both HTTPS and HTTP requests to a common port in Tomcat. Therefore Tomcat is entirely unaware of whether the request came on port 80 or 443. request.isSecure() is always &#8220;false&#8221; and causes an endless redirect loop.</p>
<p>I&#8217;ve tried to think of any other indication of how to work out where the request originated &#8230; headers, cookies, etc.. but no luck yet. May end up changing the hosting.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Chase</title>
		<link>http://www.juliesoft.com/2010/04/automatic-httphttps-switching-with-grails/comment-page-1/#comment-697</link>
		<dc:creator>Jon Chase</dc:creator>
		<pubDate>Sun, 20 Jun 2010 12:20:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.juliesoft.com/?p=336#comment-697</guid>
		<description>Kristo - 

I know exactly what you&#039;re talking about.  I haven&#039;t done a workaround for this, but if memory serves I think Spring Security should be handling the disappearing POST values somehow. 

Have a look at the Javadocs and sourcecode for org.springframework.security.web.savedrequest.SavedRequest.  I think that might be the start of the solution.  SavedRequest holds all the POSTed values and is then stored in the Session.  The trick is that a full Spring Security config is aware of SavedRequest and knows how to use it, but the setup I describe above doesn&#039;t take advantage of it. 

Maybe there&#039;s already a Spring Security filter that will create and store a SavedRequest?  Or maybe if not, it&#039;d be easy enough to extend ChannelProcessingFilter to do it.</description>
		<content:encoded><![CDATA[<p>Kristo &#8211; </p>
<p>I know exactly what you&#8217;re talking about.  I haven&#8217;t done a workaround for this, but if memory serves I think Spring Security should be handling the disappearing POST values somehow. </p>
<p>Have a look at the Javadocs and sourcecode for org.springframework.security.web.savedrequest.SavedRequest.  I think that might be the start of the solution.  SavedRequest holds all the POSTed values and is then stored in the Session.  The trick is that a full Spring Security config is aware of SavedRequest and knows how to use it, but the setup I describe above doesn&#8217;t take advantage of it. </p>
<p>Maybe there&#8217;s already a Spring Security filter that will create and store a SavedRequest?  Or maybe if not, it&#8217;d be easy enough to extend ChannelProcessingFilter to do it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kristo</title>
		<link>http://www.juliesoft.com/2010/04/automatic-httphttps-switching-with-grails/comment-page-1/#comment-696</link>
		<dc:creator>Kristo</dc:creator>
		<pubDate>Tue, 15 Jun 2010 16:15:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.juliesoft.com/?p=336#comment-696</guid>
		<description>Great post - thanks!

Followed your instructions and works a marvel. However I noticed that when you are submitting a POST form values from a http page to another page that gets redirected to HTTPS then the form values are lost (params empty). Works fine with GET, but not very neat.

Do you have any workarounds for this?

Cheers!</description>
		<content:encoded><![CDATA[<p>Great post &#8211; thanks!</p>
<p>Followed your instructions and works a marvel. However I noticed that when you are submitting a POST form values from a http page to another page that gets redirected to HTTPS then the form values are lost (params empty). Works fine with GET, but not very neat.</p>
<p>Do you have any workarounds for this?</p>
<p>Cheers!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
