Ouch, I hope this has nothing to do with the tacos component enhancement
pipeline contributions. It could very well be my fault somehow as well. I'll
double check the tacos contribution rules to see if it looks like it might
conflict with something in annotations.
it's this btw (for howard) :
<contribution configuration-id="tapestry.enhance.EnhancementWorkers">
Adds ajax render interception into component enhancement chain.
<command id="inject-ajaxrender"
object="service:tacos.enhance.ComponentRenderInterceptor"
before="tapestry.enhance.page-detach-listener" />
<command id="inject-formevent-listener"
object="service:tacos.enhance.FormComponentEventWorker"
after="inject-ajaxrender" />
</contribution>
j
On 1/31/06, Jeff Lubetkin <[EMAIL PROTECTED]> wrote:
>
> This looks very similar to a problem we encountered with
> disable-caching=true and running parallel queries (such as when a
> resulting HTML page contained multiple embedded asset requests, or AJAX
> type requests).
>
> Basically, if two queries run in parallel and disable-caching is true,
> then when the first one completes all caches will be cleared. If the
> second query is still running and dependent on caches, it will blow up.
> I found some spots in the Component enhancement pipeline that, if they
> found something cached at the beginning of the request, would throw like
> this later after the cache had been cleared.
>
> Our problem was Annotation related, but it was a @Parameter annotation
> that was blowing up for us. I actually tracked down the specific cache
> that was causing the problem, but that was a few months ago and I can't
> remember the specifics. We've stopped using the disable-cache mode, so
> I haven't seen this in a while, but if I find some time later I can redo
> the investigation...shouldn't take more than 30 minutes.
>
> jeff
>
> -----Original Message-----
> From: Chris Chiappone [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, January 31, 2006 11:26 AM
> To: Tapestry users
> Subject: Re: BindingException Issues more prominent with annotations
>
> I'm still trying to figure this out. Could this problem be associated
> when disable-caching=true?
>
> On 1/29/06, Chris Chiappone <[EMAIL PROTECTED]> wrote:
> > New JIRA created:
> >
> > https://issues.apache.org/jira/browse/TAPESTRY-848
> >
> > On 1/29/06, Howard Lewis Ship <[EMAIL PROTECTED]> wrote:
> > > I don't have a test for this case, so it would certainly be a bug.
> > > Based on how the code is organized, I can't see how this could
> happen
> > > (confusion between the page and component annotations). Each
> > > "enhancement" of a class (page or component) gets its own instance
> of
> > > EnhancementOperationImpl, which is where these checks originate.
> > >
> > > ComponentConstructorFactoryImpl.getComponentConstructor() is
> > > synchronized, I believe. I just can't see how page and component
> class
> > > enhancement could interfere with each other, but that's the nature
> of
> > > bugs.
> > >
> > > Have you created a JIRA issue (or re-opened the old one)?
> > >
> > > On 1/28/06, Chris Chiappone <[EMAIL PROTECTED]> wrote:
> > > > I'm still curious if someone can confirm this. Is it true that
> you
> > > > cannot use the same named property in a page and a component?
> That
> > > > doing this could cause the binding exceptions that I have been
> > > > getting??
> > > >
> > > > On 1/27/06, Chris Chiappone <[EMAIL PROTECTED]> wrote:
> > > > > It looks like I can reproduce this issue easily. For instance
> say I
> > > > > have a page that contains:
> > > > >
> > > > > @InjectState("visit")
> > > > > public abstract Visit getVisitObj();
> > > > >
> > > > > And have the exact same getter (annotation or not) in my
> component:
> > > > >
> > > > > public abstract Visit getVisitObj();
> > > > >
> > > > > The binding exception seems to occur.
> > > > >
> > > > > Does this seem like correct behavior for tapestry? I do this
> quite
> > > > > often in my components because at times the page may not have
> the
> > > > > visit or some other object that the page has, but other times it
> may.
> > > > >
> > > > > Thoughts and help greatly appreciated
> > > > >
> > > > >
> > > > >
> > > > > On 1/27/06, Chris Chiappone <[EMAIL PROTECTED]> wrote:
> > > > > > At first I thought I could work around these issues but they
> seem to
> > > > > > be popping up more and more throughout my application. Its
> really
> > > > > > becoming an issue for me.
> > > > > >
> > > > > > Ever since I have moved from .page and .jwc files to
> annotations I get
> > > > > > these exceptions more often.
> > > > > >
> > > > > > I don't believe I am doing anything wrong with these
> annotations. As
> > > > > > you can see by the following one I have just declared a
> DelegateBean
> > > > > > in my class. Using
> > > > > >
> > > > > > @Bean(SimpleValidationDeleage)
> > > > > > public abstract SimpleValidationDelegate getDelegate();
> > > > > >
> > > > > > That same Delegate is used on mulitple pages and in
> components. From
> > > > > > what I understand this should be acceptable.
> > > > > >
> > > > > > This issue also has sprung up on my declaring the same
> Persistent
> > > > > > property on different pages or components using the @Persist
> > > > > > annotation.
> > > > > >
> > > > > > I didn't run into these problems before I used annotations.
> I'd also
> > > > > > hate to have to go back to .page and .jwc files since there
> are so
> > > > > > many files that I've changed.
> > > > > >
> > > > > > Here is an one of the exceptions:
> > > > > >
> > > > > > Exception invoking listener method searchLinkListener of
> component
> > > > > > SearchResults/border.search: Error: An error occured
> processing
> > > > > > annotation @org.apache.tapestry.annotations.Bean(value=class
> > > > > > view.util.SimpleValidationDelegate, lifecycle=REQUEST,
> initializer=)
> > > > > > of public abstract view.util.SimpleValidationDelegate
> > > > > > view.components.BasicSearch.getDelegate(): Bean delegate has
> already
> > > > > > been declared (at Annotation
> > > > > > @org.apache.tapestry.annotations.Bean(value=class
> > > > > > view.util.SimpleValidationDelegate, lifecycle=REQUEST,
> initializer=)
> > > > > > of public abstract view.util.SimpleValidationDelegate
> > > > > > view.components.BasicSearch.getDelegate()).
> > > > > > binding:
> [EMAIL PROTECTED]
> > > > > > parameter listener, component=SearchResults/border.search,
> > > > > > methodName=searchLinkListener,
> > > > > > location=context:/WEB-INF/BasicSearch.html, line 16]
> > > > > > component:
> [EMAIL PROTECTED]/border.search]
> > > > > > location: context:/WEB-INF/BasicSearch.html, line 16
> > > > > > 11 <br>
> > > > > > 12 <input jwcid="companyField"
> > > > > > 13 autocomplete="off" size="20" id="txt1" /> <br>
> > > > > > 14 <input jwcid="@Submit" name="Submit" label="message:submit"
> /></form>
> > > > > > 15
> > > > > > 16 <a jwcid="@DirectLink"
> listener="listener:searchLinkListener">
> > > > > > 17 » <span key="advanced">Advanced</span>
> > > > > > 18 </a>
> > > > > > 19 </div>
> > > > > > 20 </td>
> > > > > > 21 </tr>
> > > > > >
> > > > > >
> > > > > > org.apache.hivemind.ApplicationRuntimeException
> > > > > > Error: An error occured processing annotation
> > > > > > @org.apache.tapestry.annotations.Bean(value=class
> > > > > > util.SimpleValidationDelegate, lifecycle=REQUEST,
> initializer=) of
> > > > > > public abstract view.util.SimpleValidationDelegate
> > > > > > view.components.BasicSearch.getDelegate(): Bean delegate has
> already
> > > > > > been declared (at Annotation
> > > > > > @org.apache.tapestry.annotations.Bean(value=class
> > > > > > view.util.SimpleValidationDelegate, lifecycle=REQUEST,
> initializer=)
> > > > > > of public abstract view.util.SimpleValidationDelegate
> > > > > > view.components.BasicSearch.getDelegate()).
> > > > > > location: Annotation
> @org.apache.tapestry.annotations.Bean(value=class
> > > > > > view.util.SimpleValidationDelegate, lifecycle=REQUEST,
> initializer=)
> > > > > > of public abstract view.util.SimpleValidationDelegate
> > > > > > view.components.BasicSearch.getDelegate()
> > > > > >
> > > > > > org.apache.hivemind.ApplicationRuntimeException
> > > > > > Bean delegate has already been declared (at Annotation
> > > > > > @org.apache.tapestry.annotations.Bean(value=class
> > > > > > view.util.SimpleValidationDelegate, lifecycle=REQUEST,
> initializer=)
> > > > > > of public abstract view.util.SimpleValidationDelegate
> > > > > > view.components.BasicSearch.getDelegate()).
> > > > > > location: Annotation
> @org.apache.tapestry.annotations.Bean(value=class
> > > > > > view.util.SimpleValidationDelegate, lifecycle=REQUEST,
> initializer=)
> > > > > > of public abstract view.util.SimpleValidationDelegate
> > > > > > view.components.BasicSearch.getDelegate()
> > > > > > Stack Trace:
> > > > > >
> org.apache.tapestry.spec.ComponentSpecification.addBeanSpecification(Com
> ponentSpecification.java:410)
> > > > > >
> org.apache.tapestry.annotations.BeanAnnotationWorker.performEnhancement(
> BeanAnnotationWorker.java:64)
> > > > > >
> org.apache.tapestry.annotations.AnnotationEnhancementWorker.performMetho
> dEnhancement(AnnotationEnhancementWorker.java:142)
> > > > > >
> org.apache.tapestry.annotations.AnnotationEnhancementWorker.performMetho
> dEnhancement(AnnotationEnhancementWorker.java:110)
> > > > > >
> org.apache.tapestry.annotations.AnnotationEnhancementWorker.performEnhan
> cement(AnnotationEnhancementWorker.java:70)
> > > > > >
> $EnhancementWorker_1090cd8cc4b.performEnhancement($EnhancementWorker_109
> 0cd8cc4b.java)
> > > > > >
> $EnhancementWorker_1090cd8cc4d.performEnhancement($EnhancementWorker_109
> 0cd8cc4d.java)
> > > > > >
> $EnhancementWorker_1090cd8cc2d.performEnhancement($EnhancementWorker_109
> 0cd8cc2d.java)
> > > > > >
> org.apache.tapestry.services.impl.ComponentConstructorFactoryImpl.getCom
> ponentConstructor(ComponentConstructorFactoryImpl.java:97)
> > > > > >
> $ComponentConstructorFactory_1090cd8cc1a.getComponentConstructor($Compon
> entConstructorFactory_1090cd8cc1a.java)
> > > > > >
> org.apache.tapestry.pageload.PageLoader.instantiateComponent(PageLoader.
> java:531)
> > > > > >
> org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoad
> er.java:481)
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > ~chris
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > ~chris
> > > > >
> > > >
> > > >
> > > > --
> > > > ~chris
> > > >
> > > >
> ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> > > > For additional commands, e-mail:
> [EMAIL PROTECTED]
> > > >
> > > >
> > >
> > >
> > > --
> > > Howard M. Lewis Ship
> > > Independent J2EE / Open-Source Java Consultant
> > > Creator, Jakarta Tapestry
> > > Creator, Jakarta HiveMind
> > >
> > > Professional Tapestry training, mentoring, support
> > > and project work. http://howardlewisship.com
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail:
> [EMAIL PROTECTED]
> > >
> > >
> >
> >
> > --
> > ~chris
> >
>
>
> --
> ~chris
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>