visit objects swapped between requests on high load
On this high christmas server load, the most rare problems seem to face at a higher rate... The worst one is that with our tapestry app (4.0), on rare occasions on concurrent requests (really concurrent, on the apache logs they show with 1s difference) from different users, the ASOs get swapped between requests from different users!!! In Tapestry 4.0 most internal services seem to be have singleton instances in the engine with very few threaded services. Could this affect concurrent requests being executed *at the same time*? Any chance this could come from Tomcat/JK? Anyone heard of such issue (tomcat 5.5.17)? -- Henri Dupre Actualis Center
RE: friendly url problem when setting context path to the web root directory
First a reservation: I'm not an expert! But I'm willing to help. Your configurations seem to be incomplete: 1) Did you specify a context for your webapp? Please see http://tomcat.apache.org/tomcat-5.0-doc/config/printer/context.html 2) How does your hivemind configuration for tapestry.url.ServiceEncoders look like? /Firas -Original Message- From: Huang Gehua [mailto:[EMAIL PROTECTED] Sent: Thursday, December 28, 2006 8:13 PM To: Tapestry users Subject: friendly url problem when setting context path to the web root directory I was a beginner of Tapestry 4.0.x. In my T4 project I've activated Friendly URLs and it works fine. But when i deploy the T4 project to a new Virtual Host and set the context path as the web root I meet problems.I can visit the Home page with http://10.0.0.201/app.But can't visit orther pages through friendly url.For example when i visit /pub/Login page tomcat error is : HTTP Status 404 - /pub/Login.cnbrn type Status report message /pub/Login.cnbrn description The requested resource (/pub/Login.cnbrn) is not available. Apache Tomcat/5.5.20 here is my context setting in server.xml is: Host name=10.0.0.201 appBase=E:\project\cnbrn unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false Context path= docBase=. debug=0/ /Host = here is my web.xml setting of servlet-mapping: servlet-mapping servlet-namecnbrn/servlet-name url-pattern/app/url-pattern /servlet-mapping servlet-mapping servlet-namecnbrn/servlet-name url-pattern*.cnbrn/url-pattern /servlet-mapping = How to resolve this problem???Any advice is welcome and thank you very much!!! - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: PropertySelection populated from database
yes, this is the case if you use list index as value in your model. This should only be done if you know the list will not change across requests. If it does, use a databse primary key, and reload the entry from the database on the translate method in the model. Cheers and happy new year, Ron [EMAIL PROTECTED] wrote: Hi folks, I'm fetching a list of countries from a mysql database to populate a PropertySelection inside a form. So let's say you have: option 0 : Canada option 1 : US If the list of countries in the database changes before the user submits the form, the wrong selection may get submitted ! For example, if the user selected 'US', Mexico gets added, and user submits the form, 'Mexico', not 'US' gets submitted. The reason is that when the form submits the property selection gets re-populated with : option 0 : Canada option 1 : Mexico option 2 : US So option 1 got submitted on an updated list and the wrong country is submitted. Is there a workaround to this ? Many thanks, galpi - 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]
Re: Re: JSR-168/268 support and Tapestry 5.0
hi konstantin,IMHO portlets are going to get more and more important. if you lookat the new portlets 2.0 spec you will see AJAX defined to reload portletcontent, an event mechanism to notify one or more portlets, a new interportlet communication protocol, central session handling aso. With this spec (still in public review) it will be possible to write portals that behavelike "web 2.0" sites but in fact are composed of different web apps.Portlets serve as THE integration API to combine different web applicationsinto a single one. A scenario may be in a big company that already uses 2 (or several) web applications to cover their processes (written in different frameworks). They may conclude that the processes could by better supported if the users had parts of both applications configured into one workbench to see dependencies and impacts immediatly. Thats where portlets 2.0 comes into play :)so i think an integration of Tapestry 5 with portlet 2.0 is necessary )g,krisAn: Tapestry users users@tapestry.apache.orgVon: Konstantin Ignatyev [EMAIL PROTECTED]Datum: 29.12.2006 10:15PMThema: Re: JSR-168/268 support and Tapestry 5.0does it make sense at all to support portals? Doespeople still use and develop portals?I mean that with the AJAX proliferation it looks like "Clientlets" make much more sense than Portlets andtherefore Portals in a sense of JSR-168 are headed tooblivion.What is the peoples' experience and opinion?--- Howard Lewis Ship [EMAIL PROTECTED] wrote: That should be "action" requests and "render" requests. The fact that servlet Tapestry 5 differentiates between the two will make it easier, or at least make it more consistent, for portlet Tapestry 5. On 12/29/06, Jan Vissers [EMAIL PROTECTED] wrote: Konstantin IgnatyevPS: If this is a typical day on planet earth, humans will add fifteen million tons of carbon to the atmosphere, destroy 115 square miles of tropical rainforest, create seventy-two miles of desert, eliminate between forty to one hundred species, erode seventy-one million tons of topsoil, add 2,700 tons of CFCs to the stratosphere, and increase their population by 263,000Bowers, C.A. The Culture of Denial: Why the Environmental Movement Needs a Strategy for Reforming Universities and Public Schools. New York: State University of New York Press, 1997: (4) (5) (p.206)-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]
Re: PropertySelection populated from database
There is a standard ISO code for countries. I'd use that. On 12/30/06, RonPiterman [EMAIL PROTECTED] wrote: yes, this is the case if you use list index as value in your model. This should only be done if you know the list will not change across requests. If it does, use a databse primary key, and reload the entry from the database on the translate method in the model. Cheers and happy new year, Ron [EMAIL PROTECTED] wrote: Hi folks, I'm fetching a list of countries from a mysql database to populate a PropertySelection inside a form. So let's say you have: option 0 : Canada option 1 : US If the list of countries in the database changes before the user submits the form, the wrong selection may get submitted ! For example, if the user selected 'US', Mexico gets added, and user submits the form, 'Mexico', not 'US' gets submitted. The reason is that when the form submits the property selection gets re-populated with : option 0 : Canada option 1 : Mexico option 2 : US So option 1 got submitted on an updated list and the wrong country is submitted. Is there a workaround to this ? Many thanks, galpi - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: PropertySelection populated from database
Oh right ... I get it. Thanks a lot. I'll use the ISO codes. Happy new year guys, galpi There is a standard ISO code for countries. I'd use that. On 12/30/06, RonPiterman [EMAIL PROTECTED] wrote: yes, this is the case if you use list index as value in your model. This should only be done if you know the list will not change across requests. If it does, use a databse primary key, and reload the entry from the database on the translate method in the model. Cheers and happy new year, Ron [EMAIL PROTECTED] wrote: Hi folks, I'm fetching a list of countries from a mysql database to populate a PropertySelection inside a form. So let's say you have: option 0 : Canada option 1 : US If the list of countries in the database changes before the user submits the form, the wrong selection may get submitted ! For example, if the user selected 'US', Mexico gets added, and user submits the form, 'Mexico', not 'US' gets submitted. The reason is that when the form submits the property selection gets re-populated with : option 0 : Canada option 1 : Mexico option 2 : US So option 1 got submitted on an updated list and the wrong country is submitted. Is there a workaround to this ? Many thanks, galpi - 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] - 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]
browser handling of amp;
Hey guys, I hope this is an easy fix that someone already stumbled upon already... I keep getting amp; appeared in the browser address bar, instead of html code: input type=button value=Do Something onClick=serviceLink() script jwcid=@Any type=text/javascript function serviceLink() { window.location='span jwcid=@Insert value=ognl:serviceURL/'; } /script java code: public String getServiceURL() { ILink link = this.getSomeEngineService().getLink(false, new String[]{someparam1}); return link.getAbsoluteURL(); } I'm confused on why isn't the browser converting amp; = ? -Dennis - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: browser handling of amp;
window.location='span jwcid=@Insert value=ognl:serviceURL raw=true /'; On 12/30/06, Dennis Sinelnikov [EMAIL PROTECTED] wrote: Hey guys, I hope this is an easy fix that someone already stumbled upon already... I keep getting amp; appeared in the browser address bar, instead of html code: input type=button value=Do Something onClick=serviceLink() script jwcid=@Any type=text/javascript function serviceLink() { window.location='span jwcid=@Insert value=ognl:serviceURL/'; } /script java code: public String getServiceURL() { ILink link = this.getSomeEngineService().getLink(false, new String[]{someparam1}); return link.getAbsoluteURL(); } I'm confused on why isn't the browser converting amp; = ? -Dennis - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: tapestry-spring and tapestry-flash for 4.1?
I wish Maven had a versionwhatever-is-handy/version. I'll find some time this week to push out a 1.0.0 version of the flash and spring. They haven't changed in a long while. However, I think they should still default to Tapestry 4.0.1, since 4.1 is not stable yet (and I haven't tested them against 4.1, I've been busy coding 5.0). On 12/28/06, mraible [EMAIL PROTECTED] wrote: Is it possible to get updated POMs for tapestry-spring and tapestry-flash that refer to tapestry 4.1.1 as a dependency? Because these libraries depend on tapestry/tapestry rather than org.apache.tapestry/tapestry-framework, you have to manually exclude so you don't get duplicate JARs. Here's what my current pom.xml looks like, which is kinda ugly: dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-annotations/artifactId version${tapestry.version}/version /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-contrib/artifactId version${tapestry.version}/version exclusions exclusion groupIdjboss/groupId artifactIdjboss-j2ee/artifactId /exclusion /exclusions /dependency dependency groupIdcom.javaforge.tapestry/groupId artifactIdtapestry-flash/artifactId version${tapestry.flash.version}/version exclusions exclusion groupIdtapestry/groupId artifactIdtapestry/artifactId /exclusion /exclusions /dependency dependency groupIdcom.javaforge.tapestry/groupId artifactIdtapestry-spring/artifactId version${tapestry.spring.version}/version exclusions exclusion groupIdtapestry/groupId artifactIdtapestry/artifactId /exclusion exclusion groupIdtapestry/groupId artifactIdtapestry-annotations/artifactId /exclusion /exclusions /dependency My properties: tapestry.version4.1.1/tapestry.version tapestry.flash.version0.1.1/tapestry.flash.version tapestry.spring.version0.1.2/tapestry.spring.version Also, it is possible to get a 1.0.0 release of these libraries? The most recent versions are snapshots, which don't work with the Maven Release Plugin. Thanks, Matt -- View this message in context: http://www.nabble.com/tapestry-spring-and-tapestry-flash-for-4.1--tf2892922.html#a8082546 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Howard M. Lewis Ship TWD Consulting, Inc. Independent J2EE / Open-Source Java Consultant Creator and PMC Chair, Apache Tapestry Creator, Apache HiveMind Professional Tapestry training, mentoring, support and project work. http://howardlewisship.com
Re: browser handling of amp;
doh! Jesse, you rock! Jesse Kuhnert wrote: window.location='span jwcid=@Insert value=ognl:serviceURL raw=true /'; On 12/30/06, Dennis Sinelnikov [EMAIL PROTECTED] wrote: Hey guys, I hope this is an easy fix that someone already stumbled upon already... I keep getting amp; appeared in the browser address bar, instead of html code: input type=button value=Do Something onClick=serviceLink() script jwcid=@Any type=text/javascript function serviceLink() { window.location='span jwcid=@Insert value=ognl:serviceURL/'; } /script java code: public String getServiceURL() { ILink link = this.getSomeEngineService().getLink(false, new String[]{someparam1}); return link.getAbsoluteURL(); } I'm confused on why isn't the browser converting amp; = ? -Dennis - 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]
Re: tapestry-spring and tapestry-flash for 4.1?
Is it possible to upload a new bundle for the latest 4.0.x with an org.apache.tapestry groupId? Also, you can do a redirect from tapestry/tapestry to org.apache.tapestry/tapestry? Here's an example from ehcache: http://repo1.maven.org/maven2/ehcache/ehcache/1.2.3/ehcache-1.2.3.pom Matt Howard Lewis Ship wrote: I wish Maven had a versionwhatever-is-handy/version. I'll find some time this week to push out a 1.0.0 version of the flash and spring. They haven't changed in a long while. However, I think they should still default to Tapestry 4.0.1, since 4.1 is not stable yet (and I haven't tested them against 4.1, I've been busy coding 5.0). On 12/28/06, mraible [EMAIL PROTECTED] wrote: Is it possible to get updated POMs for tapestry-spring and tapestry-flash that refer to tapestry 4.1.1 as a dependency? Because these libraries depend on tapestry/tapestry rather than org.apache.tapestry/tapestry-framework, you have to manually exclude so you don't get duplicate JARs. Here's what my current pom.xml looks like, which is kinda ugly: dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-annotations/artifactId version${tapestry.version}/version /dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-contrib/artifactId version${tapestry.version}/version exclusions exclusion groupIdjboss/groupId artifactIdjboss-j2ee/artifactId /exclusion /exclusions /dependency dependency groupIdcom.javaforge.tapestry/groupId artifactIdtapestry-flash/artifactId version${tapestry.flash.version}/version exclusions exclusion groupIdtapestry/groupId artifactIdtapestry/artifactId /exclusion /exclusions /dependency dependency groupIdcom.javaforge.tapestry/groupId artifactIdtapestry-spring/artifactId version${tapestry.spring.version}/version exclusions exclusion groupIdtapestry/groupId artifactIdtapestry/artifactId /exclusion exclusion groupIdtapestry/groupId artifactIdtapestry-annotations/artifactId /exclusion /exclusions /dependency My properties: tapestry.version4.1.1/tapestry.version tapestry.flash.version0.1.1/tapestry.flash.version tapestry.spring.version0.1.2/tapestry.spring.version Also, it is possible to get a 1.0.0 release of these libraries? The most recent versions are snapshots, which don't work with the Maven Release Plugin. Thanks, Matt -- View this message in context: http://www.nabble.com/tapestry-spring-and-tapestry-flash-for-4.1--tf2892922.html#a8082546 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Howard M. Lewis Ship TWD Consulting, Inc. Independent J2EE / Open-Source Java Consultant Creator and PMC Chair, Apache Tapestry Creator, Apache HiveMind Professional Tapestry training, mentoring, support and project work. http://howardlewisship.com -- View this message in context: http://www.nabble.com/tapestry-spring-and-tapestry-flash-for-4.1--tf2892922.html#a8099988 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: visit objects swapped between requests on high load
We struggled with a similar bug during load testing of our last release. It turned out to be a non-static anonymous inner class of a page class being put into session. This inner class was calling the getter for an injected state object on the outer page class. Non-static inner classes hold an implicit reference to the instance of the outer class in which it was created. If the timing was exactly right, a user would end up getting the still-cached state object from a page that was still in the page pool (the generated code for a state injection caches the object like any other property, and like any other property the cache isn't reset until the page is attached). I'm not sure that all made sense, but look out for non-static inner classes of pages. If you pass them outside of a particular page instance, you have to remember that any calls to the outer class methods are going through a reference to the creating outer class instance. If that outer instance is in the page pool, it hasn't been cleaned up from the last request and may return old data. Other than that, we've had no instances of crossovers like you're talking about. jeff From: Henri Dupre [mailto:[EMAIL PROTECTED] Sent: Sat 12/30/2006 12:24 AM To: Tapestry users Subject: visit objects swapped between requests on high load On this high christmas server load, the most rare problems seem to face at a higher rate... The worst one is that with our tapestry app (4.0), on rare occasions on concurrent requests (really concurrent, on the apache logs they show with 1s difference) from different users, the ASOs get swapped between requests from different users!!! In Tapestry 4.0 most internal services seem to be have singleton instances in the engine with very few threaded services. Could this affect concurrent requests being executed *at the same time*? Any chance this could come from Tomcat/JK? Anyone heard of such issue (tomcat 5.5.17)? -- Henri Dupre Actualis Center
HoneycombLib/Hibernate problem
I am trying to use HoneycombLib with MySQL and adapted the hivemodule.xml file. It seems like it still uses the hivemodule.xml file from inside the HoneycombHibernate-0.3.3.jar file? Any ideas how I can get it to work with MySQL or Postgres? org.apache.hivemind.ApplicationRuntimeException Unable to construct service honeycomb.hibernate.HibernateSessionFactory: Error building service honeycomb.hibernate.HibernateSessionFactory: Failure invoking constructor for class com.javaforge.honeycomb.hivemind.hibernate.HibernateSessionFactory: java.lang.NullPointerException location: jar:file:/C:/home/dev/.m2/repository/com/javaforge/honeycomb/HoneycombHibernate/0.3.3/HoneycombHibernate-0.3.3.jar!/META-INF/hivemodule.xml, line 28, column 74 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
ANN: Enjoying Web Development with Tapestry updated for T4.1 (with AJAX)
Hi, I've updated my book for T4.1 with a new chapter on AJAX. The first four chapters are freely available. More info at http://www.agileskills2.org/EWDT Thanks! -- Author of a book for learning Tapestry (http://www.agileskills2.org/EWDT) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]