Sorry... All requests should pass JSESSIONID. But only the cometd request should contain BAYEUX_BROWSER. So I wouldn't expect BAYEUX_BROWSER to be part of the tapestry request / response. On 14 Jun 2014 16:35, "Boris Horvat" <horvat.z.bo...@gmail.com> wrote:
> From what I can see the JSESSIONID is never changed, but I never seen > BAYEUX_BROWSER being passed. > > In the class ComponentJSONRendererImpl I can see only 1 cookie > > [image: Inline image 1] > > (I hope images can be displayed in this way) > > What class has replaced this implementation in the 0.9.18? > > Also could code like this cause this kind of issue? > > <t:cometd.PushTarget topic="prop:channelMenuItems" > event="updateMenuItems" update="replace" session="true"/> > <t:block t:id="blockGroupNotificationNumber"> stuff </t:block> > > @OnEvent("updateMenuItems") > Block onUpdateMenuItems(ProfilePage profilePage) { > this.updatedProfilePage = profilePage; > // Added script for updating menu items badges because of push > notification > ajaxResponseRenderer.addCallback(new JavaScriptCallback() { > public void run(JavaScriptSupport jss) { > jss.addInitializerCall("removeElementById", > "menuItemsDiv"); > } > }); > return blockGroupNotificationNumber; > } > > > T5.initializers.removeElementById = function(id) { > var element = document.getElementById(id); > element.parentNode.removeChild(element); > } > > On Sat, Jun 14, 2014 at 4:13 PM, Lance Java <lance.j...@googlemail.com> > wrote: > >> There's a bit too much info there for me to grok without much context. >> >> Watch these two cookies: >> JSESSIONID=6C36330F5F8519937A9620B276E9C219; >> BAYEUX_BROWSER=a43f-14stwrta3yd8bhwep00t3wfz >> >> For all requests, make sure their values are consistent and don't change. >> >> Also, what's this? >> >> >> >> java.util.concurrent.ExecutionException%3A%20java.lang.RuntimeException%3A%20org.apache.tapestry5.runtime.ComponentEventException%3A%20Render%20queue%20error%20in%20BeginRender%5Bblackbox%2FAssets%3Aheader.menuprofile.if_1%5D%3A%20Failure%20reading%20parameter%20%27test%27%20of%20component%20blackbox%2FAssets%3Aheader.menuprofile.if_1%3A%20%21session%20%5Bat%20classpath%3Acom%2Fbomahabo%2Fflow%2Ftapestry%2Fcomponents%2Flayout%2FMenuProfile.tml%2C%20line%204%5D >> On 14 Jun 2014 11:09, "Boris Horvat" <horvat.z.bo...@gmail.com> wrote: >> >> > Well it is cookie bases session. This happens in the application that we >> > run in local jetty as well as on amazon hosted tomcat (each time single >> > server is being used) >> > >> > When the request is made and page is refreshed I can see the following >> data >> > in the network section. From my understanding of the below data cookie >> is >> > being passed >> > >> > >> > 1. Remote Address: >> > 46.137.121.29:80 >> > 2. Request URL: >> > http://qa.flow-manager.com/assets.formcreateasset >> > 3. Request Method: >> > POST >> > 4. Status Code: >> > 500 Internal Server Error >> > 5. Request Headersview source >> > 1. Accept: >> > >> > >> > >> text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 >> > 2. Accept-Encoding: >> > gzip,deflate,sdch >> > 3. Accept-Language: >> > en-GB,en;q=0.8,en-US;q=0.6 >> > 4. Cache-Control: >> > max-age=0 >> > 5. Connection: >> > keep-alive >> > 6. Content-Length: >> > 2318 >> > 7. Content-Type: >> > multipart/form-data; >> boundary=----WebKitFormBoundaryihPoozZSG4dtBo6N >> > 8. Cookie: >> > JSESSIONID=6C36330F5F8519937A9620B276E9C219; >> > BAYEUX_BROWSER=a43f-14stwrta3yd8bhwep00t3wfz >> > 9. Host: >> > qa.flow-manager.com >> > 10. Origin: >> > http://qa.flow-manager.com >> > 11. Referer: >> > http://qa.flow-manager.com/assets >> > 12. User-Agent: >> > Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, >> like >> > Gecko) Chrome/35.0.1916.114 Safari/537.36 >> > 6. Request Payload >> > 1. ------WebKitFormBoundaryihPoozZSG4dtBo6N Content-Disposition: >> > form-data; name="t:formdata" >> > >> > >> C9nX/WAHQFhLKBNcBCAk2Eo8yUk=:H4sIAAAAAAAAAM2XTWgTQRTHp6kVbUupRYuU4hf1UDDbnWQ3u1FEitIihFYaFLxYJskkrt3srDuzJiJ4tQcvevEmCN78OOjBWw/tQZqDF8W74FUQC56sdDdbk1I3mUlsU0/LzLz35rfz/jNv5uU30FMaBSMZE2UXMqQ8MUkpZvSsTWzXlkxCbOoAiTgFCdkoexNLDNmYMueuKmWJg00j432LNrGwxaiU8uzH1Ojs6udxcG81AkDZ3uHg8PrXV2v5dx+fiQWfaSn4nDfuDaUZYnjKIcW038pdNA3P5BoyXRx9svxpEZxYj4CuFOjL1gcYGErdQnfQhImswkSaOYZVOFe2GTgU1VQ1GYfJhAaVhKoo8dIxMNqYeV6+De6DLhGjbp4R9a32bWfQYEzleEIRBijCAEMZNFmJx0snwfFwT4bLLG9gM+clUG2awAyiWJrMeJ0oy6Z8l7E0Zq59+upK35cj739t5olYzCHmDCpin6bHz8vB2iRiHJOtclxxSBZTmnYzRYNSg1grr3NK/ufTD4FwecvW6r5Qftj58enhFxd2J3xCHvyu33j+8LxI+Ko6h9pSpxZToL7X6kzIqpA6fed+BvpqPfOygJvvNShCz1vBqtHhXcyFpqjKHudCj8FEkxPTtU2CaonYHzR55v9jAoJITatZEIdrEhrFQTmDFBzi+jVRF935c77XtO8VnKqP5KUzbwfWlhufqr31ibgYShsYsFKuVN6k15eCY+goGN4+RXU59UCVTYe7Gw//UWIEJsP+wgOutje3jSe83npXc4dAek25hgS4YpoYV3+9qzNkXUrrYLAjYIKZ3AoW6wiY3jpYvCMiUzmJCSPjpH+nyDhaDiNTO0IG29B/oiMy4/x/GBjnkNkhsDZUxtky/wYW1NAxcKpBmTWsBerf6ZnH5oBLwrdoz6/6FmB/vwxmjcXHv0ceWNW6eiB4VV7O1YrqwNY55+UNeSn//bIPAAA= >> > ------WebKitFormBoundaryihPoozZSG4dtBo6N Content-Disposition: >> > form-data; >> > name="textfield" dddssddsd >> ------WebKitFormBoundaryihPoozZSG4dtBo6N >> > Content-Disposition: form-data; name="textfield_0" >> > ------WebKitFormBoundaryihPoozZSG4dtBo6N Content-Disposition: >> > form-data; >> > name="upload"; filename="" Content-Type: application/octet-stream >> > ------WebKitFormBoundaryihPoozZSG4dtBo6N Content-Disposition: >> > form-data; >> > name="t:formdata" ------WebKitFormBoundaryihPoozZSG4dtBo6N >> > Content-Disposition: form-data; name="containerAsset" >> > ------WebKitFormBoundaryihPoozZSG4dtBo6N Content-Disposition: >> > form-data; >> > name="checkbox_0" on ------WebKitFormBoundaryihPoozZSG4dtBo6N >> > Content-Disposition: form-data; name="checkbox_0_1" on >> > ------WebKitFormBoundaryihPoozZSG4dtBo6N Content-Disposition: >> > form-data; >> > name="checkbox_0_2" on ------WebKitFormBoundaryihPoozZSG4dtBo6N >> > Content-Disposition: form-data; name="checkbox_0_3" on >> > ------WebKitFormBoundaryihPoozZSG4dtBo6N Content-Disposition: >> > form-data; >> > name="checkbox_0_6" on ------WebKitFormBoundaryihPoozZSG4dtBo6N >> > Content-Disposition: form-data; name="t:submit" >> > ["linksubmit_0_0",null] >> > ------WebKitFormBoundaryihPoozZSG4dtBo6N-- >> > 7. Response Headersview source >> > 1. Connection: >> > keep-alive >> > 2. Content-Encoding: >> > gzip >> > 3. Content-Type: >> > text/html;charset=UTF-8 >> > 4. Date: >> > Sat, 14 Jun 2014 09:00:14 GMT >> > 5. Server: >> > Apache-Coyote/1.1 >> > 6. transfer-encoding: >> > chunked >> > 7. X-Tapestry-ErrorMessage: >> > >> > >> > >> java.util.concurrent.ExecutionException%3A%20java.lang.RuntimeException%3A%20org.apache.tapestry5.runtime.ComponentEventException%3A%20Render%20queue%20error%20in%20BeginRender%5Bblackbox%2FAssets%3Aheader.menuprofile.if_1%5D%3A%20Failure%20reading%20parameter%20%27test%27%20of%20component%20blackbox%2FAssets%3Aheader.menuprofile.if_1%3A%20%21session%20%5Bat%20classpath%3Acom%2Fbomahabo%2Fflow%2Ftapestry%2Fcomponents%2Flayout%2FMenuProfile.tml%2C%20line%204%5D >> > >> > >> > >> > On Sat, Jun 14, 2014 at 8:25 AM, Lance Java <lance.j...@googlemail.com> >> > wrote: >> > >> > > Are you using cookie based session or url based? >> > > >> > > Try inspecting the network traffic and ensure the cookie is being >> passed >> > > each time. >> > > >> > > Is this a clustered setup? >> > > On 14 Jun 2014 01:35, "Boris Horvat" <horvat.z.bo...@gmail.com> >> wrote: >> > > >> > > > Hi Lance, I am not sure what you mean by >> > > > >> > > > >> > > > One restriction with tapestry-cometd and HttpSession is that the >> > session >> > > > > cannot be created by the async action. I'm guessing that the push >> > > action >> > > > > requires the session, but it doesn't exist yet. >> > > > > >> > > > >> > > > The session should already exist by this point given that it didn't >> > > trigger >> > > > this exception for the first half a dozen of runs, so only after >> couple >> > > of >> > > > button clicks that send the push notification we run into this. >> > > > Any idea how could the session be closed by this time? >> > > > >> > > > Does it matter if the push broadcasting happens in one component and >> > > event >> > > > handle in another? I assume not and also like I said it worked for >> the >> > > > first few clicks. >> > > > >> > > > Any ideas? >> > > > >> > > > Thanks >> > > > >> > > > >> > > > >> > > > > >> > > > > Admittedly the error message could be nicer than "!session" >> > > > > On 13 Jun 2014 15:36, "Boris Horvat" <horvat.z.bo...@gmail.com> >> > wrote: >> > > > > >> > > > > > Hi everyone, I have implemented a tapestry-cometd integration >> > > > > > >> > > > > > <dependency> >> > > > > > <groupId>org.lazan</groupId> >> > > > > > <artifactId>tapestry-cometd</artifactId> >> > > > > > <version>0.9.17</version> >> > > > > > </dependency> >> > > > > > >> > > > > > Our usage of the component is >> > > > > > >> > > > > > <t:cometd.PushTarget topic="prop:channelMenuItems" >> > > > > > event="updateMenuItems" update="replace" session="true"/> >> > > > > > >> > > > > > and in UAT environment that runs under Tomcat I got the >> following >> > > > > > exception. >> > > > > > >> > > > > > java.lang.IllegalStateException >> > > > > > !session >> > > > > > Filter stack framesStack trace >> > > > > > >> > > > > > - >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> >> org.cometd.server.transport.HttpTransport$HttpContext.setHttpSessionAttribute(HttpTransport.java:177) >> > > > > > - >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> >> org.lazan.t5.cometd.services.internal.BayeuxContextHttpSession.setAttribute(BayeuxContextHttpSession.java:31) >> > > > > > - >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> >> org.apache.tapestry5.internal.services.SessionImpl.setAttribute(SessionImpl.java:57) >> > > > > > - >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> >> org.apache.tapestry5.internal.services.SessionApplicationStatePersistenceStrategy.set(SessionApplicationStatePersistenceStrategy.java:73) >> > > > > > - >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> >> org.apache.tapestry5.internal.services.SessionApplicationStatePersistenceStrategy.getOrCreate(SessionApplicationStatePersistenceStrategy.java:58) >> > > > > > - >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> >> org.apache.tapestry5.internal.services.SessionApplicationStatePersistenceStrategy.get(SessionApplicationStatePersistenceStrategy.java:44) >> > > > > > - >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> >> org.apache.tapestry5.internal.services.ApplicationStateManagerImpl$ApplicationStateAdapter.getOrCreate(ApplicationStateManagerImpl.java:50) >> > > > > > - >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> >> org.apache.tapestry5.internal.services.ApplicationStateManagerImpl.get(ApplicationStateManagerImpl.java:133) >> > > > > > - >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> >> org.apache.tapestry5.internal.transform.ApplicationStateWorker$1.get(ApplicationStateWorker.java:75) >> > > > > > - >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> >> com.bomahabo.flow.tapestry.components.layout.MenuProfile.conduit_get_user(MenuProfile.java) >> > > > > > - >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> >> com.bomahabo.flow.tapestry.components.layout.MenuProfile.getPageNotificationNumber(MenuProfile.java:135) >> > > > > > >> > > > > > >> > > > > > It is probably worth nothing that this doesn't happen on the >> first >> > > few >> > > > > > triggers of the push event but at some point in the near future. >> > > > > > >> > > > > > Has anyone seen something similar before? >> > > > > > >> > > > > > -- >> > > > > > Sincerely >> > > > > > *Boris Horvat* >> > > > > > >> > > > > >> > > > >> > > > >> > > > >> > > > -- >> > > > Sincerely >> > > > *Boris Horvat* >> > > > >> > > >> > >> > >> > >> > -- >> > Sincerely >> > *Boris Horvat* >> > >> > > > > -- > Sincerely > *Boris Horvat* >