<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-345</id>
	<title>Nabble - Turbine - User</title>
	<updated>2009-12-19T02:25:21Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Turbine---User-f345.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Turbine---User-f345.html" />
	<subtitle type="html"></subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26853967</id>
	<title>Re: ACL serialization.</title>
	<published>2009-12-19T02:25:21Z</published>
	<updated>2009-12-19T02:25:21Z</updated>
	<author>
		<name>Thomas Vandahl-2</name>
	</author>
	<content type="html">Sheldon Ross wrote:
&lt;br&gt;&amp;gt; Alright, success, multiple tomcats running, and sessions are persistent and clustered.
&lt;br&gt;[...]
&lt;br&gt;&lt;br&gt;Glad to hear that it finally worked out for you. Thanks for your
&lt;br&gt;analysis. It may be useful for others as well.
&lt;br&gt;&lt;br&gt;Bye, Thomas.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26853967&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26853967&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ACL-serialization.-tp26803641p26853967.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26850158</id>
	<title>RE: ACL serialization.</title>
	<published>2009-12-18T13:47:30Z</published>
	<updated>2009-12-18T13:47:30Z</updated>
	<author>
		<name>Sheldon Ross</name>
	</author>
	<content type="html">&lt;br&gt;Alright, success, multiple tomcats running, and sessions are persistent and clustered.
&lt;br&gt;&lt;br&gt;I did have to add
&lt;br&gt;&lt;br&gt;if(!TurbineSession.getActiveSessions().contains(req.getSession()))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TurbineSession.addSession(req.getSession());
&lt;br&gt;&lt;br&gt;to Turbine.java. Right now, Sessions are only added in SessionListener.java when they are created.
&lt;br&gt;When the server restarts, it reloads the sessions - so they are not new. 
&lt;br&gt;So TurbineSession.getActiveSessions does not contain the existing sessions.
&lt;br&gt;&lt;br&gt;Also due to this bug
&lt;br&gt;&lt;a href=&quot;http://www.mail-archive.com/dev@tomcat.apache.org/msg18838.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.mail-archive.com/dev@.../msg18838.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;That exists in the version of Tomcat my distro uses, I had to set change these lines
&lt;br&gt;&lt;br&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (data.getSession().isNew())
&lt;br&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int timeout = configuration.getInt(SESSION_TIMEOUT_KEY,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SESSION_TIMEOUT_DEFAULT);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (timeout != SESSION_TIMEOUT_DEFAULT &amp;&amp; data.getSession().getMaxInactiveInterval() != timeout)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.getSession().setMaxInactiveInterval(timeout);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;Just in case anyone else has issues replicating sessions.
&lt;br&gt;&lt;br&gt;Oh, and I had downloaded the Turbine 2.3.2 source in which the TorqueObject is not serializable.
&lt;br&gt;2.3.3 has this fixed.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; From: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26850158&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ross_sheldon@...&lt;/a&gt;
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26850158&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Subject: RE: ACL serialization.
&lt;br&gt;&amp;gt; Date: Fri, 18 Dec 2009 20:33:59 +0000
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Alright, I solved the problem. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The TorqueObject.java I had apparently was old. (I swear I just downloaded the source about a month ago)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It didn't implement Serializable, therefore the 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; obj &amp;nbsp;in TorqueUser was not saving. Which was odd because I figured it should crash, but everything else about 
&lt;br&gt;&amp;gt; TorqueUser was serializing fine. How does half an object serialize, and the other parts not? 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Oh well, now I just have to figure out how to get the activesessions to save.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; My sessions restore, and I can perform actions/access pages correctly. But my admin list of who's logged on 
&lt;br&gt;&amp;gt; is empty.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Date: Fri, 18 Dec 2009 18:17:43 +0100
&lt;br&gt;&amp;gt; &amp;gt; From: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26850158&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tv@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26850158&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; Subject: Re: ACL serialization.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Sheldon Ross wrote:
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; At the start it makes a distinction between permanent storage,
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; and temporary. These appear to refer to (database) and (session)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; respectively. The problem lies with the fact that there is no link between
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; the two. 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I cannot confirm this. data.getUser() provides the user object from the
&lt;br&gt;&amp;gt; &amp;gt; session, where it is stored as User.SESSION_KEY.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Likewise, the ACL for the user that you get with data.getACL() is stored
&lt;br&gt;&amp;gt; &amp;gt; in the session as AccessControlList.SESSION_KEY.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; The underlying user account object is stored in permanent storage
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; and as such, if you update it's name, email, etc, it updates the permanent
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; storage object in memory. However, the session has no record of this. 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; It would have, if you manipulate the user object in the session. The
&lt;br&gt;&amp;gt; &amp;gt; user object has a save()-method.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; This appears to be a serious limitation for sharing sessions across server nodes.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I guess the problem is just that the user/acl implementation is not
&lt;br&gt;&amp;gt; &amp;gt; serializable for some reason.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; So I set the user and acl when someone logs in via
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; user = TurbineSecurity.getAuthenticatedUser( username, password );
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; data.setUser(user);
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; and the aforementioned ACL code.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; This is actually part of the session validator code.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.save();
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; This only saves the user object to the session, not the ACL. The ACL is
&lt;br&gt;&amp;gt; &amp;gt; built and saved to the session by the AccessController.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt;&amp;gt; Any thoughts as to what I'm doing wrong, and how I can get the ACL to persist with the 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt;&amp;gt; session?
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; If objects stored in the session are not serializable, Tomcat will log
&lt;br&gt;&amp;gt; &amp;gt; that during shutdown or during startup. See your Tomcat logs for what
&lt;br&gt;&amp;gt; &amp;gt; really happens.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; This problem looks strange to me. What session validators,
&lt;br&gt;&amp;gt; &amp;gt; ACL-implementations or other security-related settings do you have in place?
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Bye, Thomas.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26850158&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26850158&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp;		 	 &amp;nbsp; 		 &amp;nbsp;
&lt;br&gt;&amp;gt; _________________________________________________________________
&lt;br&gt;&amp;gt; Hotmail: Powerful Free email with security by Microsoft.
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://clk.atdmt.com/GBL/go/171222986/direct/01/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clk.atdmt.com/GBL/go/171222986/direct/01/&lt;/a&gt;&lt;/div&gt;&amp;nbsp;		 	 &amp;nbsp; 		 &amp;nbsp;
&lt;br&gt;_________________________________________________________________
&lt;br&gt;Hotmail: Trusted email with powerful SPAM protection.
&lt;br&gt;&lt;a href=&quot;http://clk.atdmt.com/GBL/go/177141665/direct/01/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clk.atdmt.com/GBL/go/177141665/direct/01/&lt;/a&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ACL-serialization.-tp26803641p26850158.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26849359</id>
	<title>RE: ACL serialization.</title>
	<published>2009-12-18T12:33:59Z</published>
	<updated>2009-12-18T12:33:59Z</updated>
	<author>
		<name>Sheldon Ross</name>
	</author>
	<content type="html">&lt;br&gt;Alright, I solved the problem. 
&lt;br&gt;&lt;br&gt;The TorqueObject.java I had apparently was old. (I swear I just downloaded the source about a month ago)
&lt;br&gt;&lt;br&gt;It didn't implement Serializable, therefore the 
&lt;br&gt;&lt;br&gt;obj &amp;nbsp;in TorqueUser was not saving. Which was odd because I figured it should crash, but everything else about 
&lt;br&gt;TorqueUser was serializing fine. How does half an object serialize, and the other parts not? 
&lt;br&gt;&lt;br&gt;Oh well, now I just have to figure out how to get the activesessions to save.
&lt;br&gt;&lt;br&gt;My sessions restore, and I can perform actions/access pages correctly. But my admin list of who's logged on 
&lt;br&gt;is empty.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Date: Fri, 18 Dec 2009 18:17:43 +0100
&lt;br&gt;&amp;gt; From: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849359&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tv@...&lt;/a&gt;
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849359&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Subject: Re: ACL serialization.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Sheldon Ross wrote:
&lt;br&gt;&amp;gt; &amp;gt; At the start it makes a distinction between permanent storage,
&lt;br&gt;&amp;gt; &amp;gt; and temporary. These appear to refer to (database) and (session)
&lt;br&gt;&amp;gt; &amp;gt; respectively. The problem lies with the fact that there is no link between
&lt;br&gt;&amp;gt; &amp;gt; the two. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I cannot confirm this. data.getUser() provides the user object from the
&lt;br&gt;&amp;gt; session, where it is stored as User.SESSION_KEY.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Likewise, the ACL for the user that you get with data.getACL() is stored
&lt;br&gt;&amp;gt; in the session as AccessControlList.SESSION_KEY.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; The underlying user account object is stored in permanent storage
&lt;br&gt;&amp;gt; &amp;gt; and as such, if you update it's name, email, etc, it updates the permanent
&lt;br&gt;&amp;gt; &amp;gt; storage object in memory. However, the session has no record of this. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It would have, if you manipulate the user object in the session. The
&lt;br&gt;&amp;gt; user object has a save()-method.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; This appears to be a serious limitation for sharing sessions across server nodes.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I guess the problem is just that the user/acl implementation is not
&lt;br&gt;&amp;gt; serializable for some reason.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; So I set the user and acl when someone logs in via
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; user = TurbineSecurity.getAuthenticatedUser( username, password );
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; data.setUser(user);
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; and the aforementioned ACL code.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This is actually part of the session validator code.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.save();
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This only saves the user object to the session, not the ACL. The ACL is
&lt;br&gt;&amp;gt; built and saved to the session by the AccessController.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Any thoughts as to what I'm doing wrong, and how I can get the ACL to persist with the 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; session?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; If objects stored in the session are not serializable, Tomcat will log
&lt;br&gt;&amp;gt; that during shutdown or during startup. See your Tomcat logs for what
&lt;br&gt;&amp;gt; really happens.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This problem looks strange to me. What session validators,
&lt;br&gt;&amp;gt; ACL-implementations or other security-related settings do you have in place?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Bye, Thomas.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849359&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849359&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&amp;nbsp;		 	 &amp;nbsp; 		 &amp;nbsp;
&lt;br&gt;_________________________________________________________________
&lt;br&gt;Hotmail: Powerful Free email with security by Microsoft.
&lt;br&gt;&lt;a href=&quot;http://clk.atdmt.com/GBL/go/171222986/direct/01/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clk.atdmt.com/GBL/go/171222986/direct/01/&lt;/a&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ACL-serialization.-tp26803641p26849359.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26849088</id>
	<title>RE: ACL serialization.</title>
	<published>2009-12-18T12:14:26Z</published>
	<updated>2009-12-18T12:14:26Z</updated>
	<author>
		<name>Sheldon Ross</name>
	</author>
	<content type="html">&lt;br&gt;The User is stored in the session.
&lt;br&gt;&lt;br&gt;At the top of TorqueUser.java
&lt;br&gt;&lt;a href=&quot;http://turbine.apache.org/turbine/turbine-2.3.3/xref/org/apache/turbine/services/security/torque/TorqueUser.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://turbine.apache.org/turbine/turbine-2.3.3/xref/org/apache/turbine/services/security/torque/TorqueUser.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; /*** This is data that will survive a servlet engine restart. */
&lt;br&gt;62 &amp;nbsp; &amp;nbsp; &amp;nbsp;private Hashtable permStorage = null;
&lt;br&gt;63 &amp;nbsp;
&lt;br&gt;64 &amp;nbsp; &amp;nbsp; &amp;nbsp;/*** This is data that will not survive a servlet engine restart. */
&lt;br&gt;65 &amp;nbsp; &amp;nbsp; &amp;nbsp;private Hashtable tempStorage = null;
&lt;br&gt;&lt;br&gt;When I restart Tomcat, The tempStorage (ironically) is serialized and saved.
&lt;br&gt;The permStorage does not get saved for some reason. 
&lt;br&gt;&lt;br&gt;Nothing is crashing, catalina.out is clean, and everything else serializes fine.
&lt;br&gt;&lt;br&gt;Ross
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Date: Fri, 18 Dec 2009 18:17:43 +0100
&lt;br&gt;&amp;gt; From: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849088&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tv@...&lt;/a&gt;
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849088&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Subject: Re: ACL serialization.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Sheldon Ross wrote:
&lt;br&gt;&amp;gt; &amp;gt; At the start it makes a distinction between permanent storage,
&lt;br&gt;&amp;gt; &amp;gt; and temporary. These appear to refer to (database) and (session)
&lt;br&gt;&amp;gt; &amp;gt; respectively. The problem lies with the fact that there is no link between
&lt;br&gt;&amp;gt; &amp;gt; the two. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I cannot confirm this. data.getUser() provides the user object from the
&lt;br&gt;&amp;gt; session, where it is stored as User.SESSION_KEY.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Likewise, the ACL for the user that you get with data.getACL() is stored
&lt;br&gt;&amp;gt; in the session as AccessControlList.SESSION_KEY.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; The underlying user account object is stored in permanent storage
&lt;br&gt;&amp;gt; &amp;gt; and as such, if you update it's name, email, etc, it updates the permanent
&lt;br&gt;&amp;gt; &amp;gt; storage object in memory. However, the session has no record of this. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It would have, if you manipulate the user object in the session. The
&lt;br&gt;&amp;gt; user object has a save()-method.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; This appears to be a serious limitation for sharing sessions across server nodes.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I guess the problem is just that the user/acl implementation is not
&lt;br&gt;&amp;gt; serializable for some reason.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; So I set the user and acl when someone logs in via
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; user = TurbineSecurity.getAuthenticatedUser( username, password );
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; data.setUser(user);
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; and the aforementioned ACL code.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This is actually part of the session validator code.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.save();
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This only saves the user object to the session, not the ACL. The ACL is
&lt;br&gt;&amp;gt; built and saved to the session by the AccessController.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Any thoughts as to what I'm doing wrong, and how I can get the ACL to persist with the 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; session?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; If objects stored in the session are not serializable, Tomcat will log
&lt;br&gt;&amp;gt; that during shutdown or during startup. See your Tomcat logs for what
&lt;br&gt;&amp;gt; really happens.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This problem looks strange to me. What session validators,
&lt;br&gt;&amp;gt; ACL-implementations or other security-related settings do you have in place?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Bye, Thomas.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849088&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849088&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&amp;nbsp;		 	 &amp;nbsp; 		 &amp;nbsp;
&lt;br&gt;_________________________________________________________________
&lt;br&gt;Hotmail: Powerful Free email with security by Microsoft.
&lt;br&gt;&lt;a href=&quot;http://clk.atdmt.com/GBL/go/171222986/direct/01/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clk.atdmt.com/GBL/go/171222986/direct/01/&lt;/a&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ACL-serialization.-tp26803641p26849088.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26846643</id>
	<title>Re: ACL serialization.</title>
	<published>2009-12-18T09:17:43Z</published>
	<updated>2009-12-18T09:17:43Z</updated>
	<author>
		<name>Thomas Vandahl-2</name>
	</author>
	<content type="html">Sheldon Ross wrote:
&lt;br&gt;&amp;gt; At the start it makes a distinction between permanent storage,
&lt;br&gt;&amp;gt; and temporary. These appear to refer to (database) and (session)
&lt;br&gt;&amp;gt; respectively. The problem lies with the fact that there is no link between
&lt;br&gt;&amp;gt; the two. 
&lt;br&gt;&lt;br&gt;I cannot confirm this. data.getUser() provides the user object from the
&lt;br&gt;session, where it is stored as User.SESSION_KEY.
&lt;br&gt;&lt;br&gt;Likewise, the ACL for the user that you get with data.getACL() is stored
&lt;br&gt;in the session as AccessControlList.SESSION_KEY.
&lt;br&gt;&lt;br&gt;&amp;gt; The underlying user account object is stored in permanent storage
&lt;br&gt;&amp;gt; and as such, if you update it's name, email, etc, it updates the permanent
&lt;br&gt;&amp;gt; storage object in memory. However, the session has no record of this. 
&lt;br&gt;&lt;br&gt;It would have, if you manipulate the user object in the session. The
&lt;br&gt;user object has a save()-method.
&lt;br&gt;&lt;br&gt;&amp;gt; This appears to be a serious limitation for sharing sessions across server nodes.
&lt;br&gt;&lt;br&gt;I guess the problem is just that the user/acl implementation is not
&lt;br&gt;serializable for some reason.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; So I set the user and acl when someone logs in via
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; user = TurbineSecurity.getAuthenticatedUser( username, password );
&lt;br&gt;&amp;gt;&amp;gt; data.setUser(user);
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; and the aforementioned ACL code.
&lt;br&gt;&lt;br&gt;This is actually part of the session validator code.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.save();
&lt;br&gt;&lt;br&gt;This only saves the user object to the session, not the ACL. The ACL is
&lt;br&gt;built and saved to the session by the AccessController.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Any thoughts as to what I'm doing wrong, and how I can get the ACL to persist with the 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; session?
&lt;br&gt;&lt;br&gt;If objects stored in the session are not serializable, Tomcat will log
&lt;br&gt;that during shutdown or during startup. See your Tomcat logs for what
&lt;br&gt;really happens.
&lt;br&gt;&lt;br&gt;This problem looks strange to me. What session validators,
&lt;br&gt;ACL-implementations or other security-related settings do you have in place?
&lt;br&gt;&lt;br&gt;Bye, Thomas.
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26846643&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26846643&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ACL-serialization.-tp26803641p26846643.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26836965</id>
	<title>RE: ACL serialization.</title>
	<published>2009-12-17T15:41:36Z</published>
	<updated>2009-12-17T15:41:36Z</updated>
	<author>
		<name>Sheldon Ross</name>
	</author>
	<content type="html">&lt;br&gt;Alright, I've done some serious digging now, and I think I've found the heart of the issue. 
&lt;br&gt;&lt;br&gt;I'm using the TorqueUser implementation of the User interface. 
&lt;br&gt;&lt;br&gt;At the start it makes a distinction between permanent storage,
&lt;br&gt;and temporary. These appear to refer to (database) and (session)
&lt;br&gt;respectively. The problem lies with the fact that there is no link between
&lt;br&gt;the two. 
&lt;br&gt;The underlying user account object is stored in permanent storage
&lt;br&gt;and as such, if you update it's name, email, etc, it updates the permanent
&lt;br&gt;storage object in memory. However, the session has no record of this. 
&lt;br&gt;&lt;br&gt;This appears to be a serious limitation for sharing sessions across server nodes.
&lt;br&gt;&lt;br&gt;I suppose I'll write/rewrite my own implementation of the User interface, such 
&lt;br&gt;that the underlying user object is stored in the session too. 
&lt;br&gt;&lt;br&gt;And If its not too hackish, maybe I'll even submit it to the project lol..
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; From: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26836965&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ross_sheldon@...&lt;/a&gt;
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26836965&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Subject: RE: ACL serialization.
&lt;br&gt;&amp;gt; Date: Tue, 15 Dec 2009 23:41:03 +0000
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; So actually neither the User, nor the ACL is getting saved when the server restarts.
&lt;br&gt;&amp;gt; It appeared like the user was because I have it linked to address tables, etc. And 
&lt;br&gt;&amp;gt; they were getting reloaded.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; So I set the user and acl when someone logs in via
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; user = TurbineSecurity.getAuthenticatedUser( username, password );
&lt;br&gt;&amp;gt; data.setUser(user);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; and the aforementioned ACL code.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; So why aren't these being stored in the session? And how do I go about getting 
&lt;br&gt;&amp;gt; them stored in the session?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I could of course create a hashmap or custom object, store them in that, 
&lt;br&gt;&amp;gt; and put it in the session manually or something clunky like that. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It seems to me like there has to be a better way?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; From: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26836965&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ross_sheldon@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26836965&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;turbine-user@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; Subject: ACL serialization.
&lt;br&gt;&amp;gt; &amp;gt; Date: Tue, 15 Dec 2009 23:17:36 +0000
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Hello,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;I'm trying to make sessions persistent, and set-up a cluster.
&lt;br&gt;&amp;gt; &amp;gt; I'm able to serialize and recall/reload all my defined session tools and subobjects
&lt;br&gt;&amp;gt; &amp;gt; defined via example:
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; tool.session.queryData=org.simmental.util.QueryData
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; However, the my Access control list doesn't seem to be serializing for some reason.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AccessControlList acl = data.getACL();
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ( acl == null )
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; acl = TurbineSecurity.getACL( data.getUser() );
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.getSession().setAttribute( AccessControlList.SESSION_KEY,(Object)acl );
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.setACL(acl);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.save();
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; This code is in my login action. Now I thought that would save the ACL to the session,
&lt;br&gt;&amp;gt; &amp;gt; but whenever I restart Tomcat, the ACL is null on requests.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Any thoughts as to what I'm doing wrong, and how I can get the ACL to persist with the 
&lt;br&gt;&amp;gt; &amp;gt; session?
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Thanks
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;Ross
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;		 	 &amp;nbsp; 		 &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;gt; _________________________________________________________________
&lt;br&gt;&amp;gt; &amp;gt; Hotmail: Free, trusted and rich email service.
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://clk.atdmt.com/GBL/go/171222984/direct/01/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clk.atdmt.com/GBL/go/171222984/direct/01/&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp;		 	 &amp;nbsp; 		 &amp;nbsp;
&lt;br&gt;&amp;gt; _________________________________________________________________
&lt;br&gt;&amp;gt; Your E-mail and More On-the-Go. Get Windows Live Hotmail Free.
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://clk.atdmt.com/GBL/go/171222985/direct/01/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clk.atdmt.com/GBL/go/171222985/direct/01/&lt;/a&gt;&lt;/div&gt;&amp;nbsp;		 	 &amp;nbsp; 		 &amp;nbsp;
&lt;br&gt;_________________________________________________________________
&lt;br&gt;Hotmail: Free, trusted and rich email service.
&lt;br&gt;&lt;a href=&quot;http://clk.atdmt.com/GBL/go/171222984/direct/01/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clk.atdmt.com/GBL/go/171222984/direct/01/&lt;/a&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ACL-serialization.-tp26803641p26836965.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26803949</id>
	<title>RE: ACL serialization.</title>
	<published>2009-12-15T15:41:03Z</published>
	<updated>2009-12-15T15:41:03Z</updated>
	<author>
		<name>Sheldon Ross</name>
	</author>
	<content type="html">&lt;br&gt;So actually neither the User, nor the ACL is getting saved when the server restarts.
&lt;br&gt;It appeared like the user was because I have it linked to address tables, etc. And 
&lt;br&gt;they were getting reloaded.
&lt;br&gt;&lt;br&gt;So I set the user and acl when someone logs in via
&lt;br&gt;&lt;br&gt;user = TurbineSecurity.getAuthenticatedUser( username, password );
&lt;br&gt;data.setUser(user);
&lt;br&gt;&lt;br&gt;and the aforementioned ACL code.
&lt;br&gt;&lt;br&gt;So why aren't these being stored in the session? And how do I go about getting 
&lt;br&gt;them stored in the session?
&lt;br&gt;&lt;br&gt;I could of course create a hashmap or custom object, store them in that, 
&lt;br&gt;and put it in the session manually or something clunky like that. 
&lt;br&gt;&lt;br&gt;It seems to me like there has to be a better way?
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; From: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26803949&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ross_sheldon@...&lt;/a&gt;
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26803949&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;turbine-user@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Subject: ACL serialization.
&lt;br&gt;&amp;gt; Date: Tue, 15 Dec 2009 23:17:36 +0000
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;I'm trying to make sessions persistent, and set-up a cluster.
&lt;br&gt;&amp;gt; I'm able to serialize and recall/reload all my defined session tools and subobjects
&lt;br&gt;&amp;gt; defined via example:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; tool.session.queryData=org.simmental.util.QueryData
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; However, the my Access control list doesn't seem to be serializing for some reason.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AccessControlList acl = data.getACL();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ( acl == null )
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; acl = TurbineSecurity.getACL( data.getUser() );
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.getSession().setAttribute( AccessControlList.SESSION_KEY,(Object)acl );
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.setACL(acl);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.save();
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This code is in my login action. Now I thought that would save the ACL to the session,
&lt;br&gt;&amp;gt; but whenever I restart Tomcat, the ACL is null on requests.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Any thoughts as to what I'm doing wrong, and how I can get the ACL to persist with the 
&lt;br&gt;&amp;gt; session?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Ross
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp;		 	 &amp;nbsp; 		 &amp;nbsp;
&lt;br&gt;&amp;gt; _________________________________________________________________
&lt;br&gt;&amp;gt; Hotmail: Free, trusted and rich email service.
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://clk.atdmt.com/GBL/go/171222984/direct/01/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clk.atdmt.com/GBL/go/171222984/direct/01/&lt;/a&gt;&lt;/div&gt;&amp;nbsp;		 	 &amp;nbsp; 		 &amp;nbsp;
&lt;br&gt;_________________________________________________________________
&lt;br&gt;Your E-mail and More On-the-Go. Get Windows Live Hotmail Free.
&lt;br&gt;&lt;a href=&quot;http://clk.atdmt.com/GBL/go/171222985/direct/01/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clk.atdmt.com/GBL/go/171222985/direct/01/&lt;/a&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ACL-serialization.-tp26803641p26803949.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26803641</id>
	<title>ACL serialization.</title>
	<published>2009-12-15T15:17:36Z</published>
	<updated>2009-12-15T15:17:36Z</updated>
	<author>
		<name>Sheldon Ross</name>
	</author>
	<content type="html">&lt;br&gt;Hello,
&lt;br&gt;&amp;nbsp; &amp;nbsp;I'm trying to make sessions persistent, and set-up a cluster.
&lt;br&gt;I'm able to serialize and recall/reload all my defined session tools and subobjects
&lt;br&gt;defined via example:
&lt;br&gt;&lt;br&gt;tool.session.queryData=org.simmental.util.QueryData
&lt;br&gt;&lt;br&gt;However, the my Access control list doesn't seem to be serializing for some reason.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AccessControlList acl = data.getACL();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ( acl == null )
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; acl = TurbineSecurity.getACL( data.getUser() );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.getSession().setAttribute( AccessControlList.SESSION_KEY,(Object)acl );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.setACL(acl);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.save();
&lt;br&gt;&lt;br&gt;This code is in my login action. Now I thought that would save the ACL to the session,
&lt;br&gt;but whenever I restart Tomcat, the ACL is null on requests.
&lt;br&gt;&lt;br&gt;Any thoughts as to what I'm doing wrong, and how I can get the ACL to persist with the 
&lt;br&gt;session?
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;&amp;nbsp; &amp;nbsp;Ross
&lt;br&gt;&lt;br&gt;&amp;nbsp;		 	 &amp;nbsp; 		 &amp;nbsp;
&lt;br&gt;_________________________________________________________________
&lt;br&gt;Hotmail: Free, trusted and rich email service.
&lt;br&gt;&lt;a href=&quot;http://clk.atdmt.com/GBL/go/171222984/direct/01/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clk.atdmt.com/GBL/go/171222984/direct/01/&lt;/a&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ACL-serialization.-tp26803641p26803641.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26702792</id>
	<title>Turbine 2.3.3 and Jboss 5.01 GA</title>
	<published>2009-12-08T15:33:08Z</published>
	<updated>2009-12-08T15:33:08Z</updated>
	<author>
		<name>Tai-chang Lee</name>
	</author>
	<content type="html">Has anyone had any luck getting the turbine hello world example to run
&lt;br&gt;on JBoss 5.0.1.GA / JDK 1.6.0_17
&lt;br&gt;I've been able to get it running on both Tomcat and Glassfish but I get
&lt;br&gt;the following stack in JBOSS
&lt;br&gt;&amp;nbsp;
&lt;br&gt;(I created the war and deployed it to JBOSS without error. &amp;nbsp;
&lt;br&gt;However the moment you access &lt;a href=&quot;http://localhost:8080/helloworld/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://localhost:8080/helloworld/&lt;/a&gt;&amp;nbsp;JBoss
&lt;br&gt;throws a stacktrace.
&lt;br&gt;Will turbine run on JAVA 6? )
&lt;br&gt;&amp;nbsp;
&lt;br&gt;17:32:50,684 INFO &amp;nbsp;[ServerImpl] JBoss (Microcontainer) [5.0.1.GA (build:
&lt;br&gt;SVNTag=JBoss_5_0_1_GA date=200902231221)] Started in 40s:969ms
&lt;br&gt;17:34:30,154 ERROR [STDERR] log4j:ERROR A
&lt;br&gt;&amp;quot;org.jboss.logging.appender.FileAppender&amp;quot; object is not assignable to a
&lt;br&gt;&amp;quot;org.apache.log4j.Appender&amp;quot; variable.
&lt;br&gt;17:34:30,154 ERROR [STDERR] log4j:ERROR The class
&lt;br&gt;&amp;quot;org.apache.log4j.Appender&amp;quot; was loaded by
&lt;br&gt;17:34:30,154 ERROR [STDERR] log4j:ERROR
&lt;br&gt;[BaseClassLoader@136b039{vfszip:/D:/spi/jboss-5.0.1.GA_ag/server/ag/depl
&lt;br&gt;oy/helloworld.war/}] whereas object of type
&lt;br&gt;17:34:30,154 ERROR [STDERR] log4j:ERROR
&lt;br&gt;&amp;quot;org.jboss.logging.appender.FileAppender&amp;quot; was loaded by
&lt;br&gt;[org.jboss.system.NoAnnotationURLClassLoader@1dd7056].
&lt;br&gt;17:34:30,154 ERROR [STDERR] log4j:ERROR Could not instantiate appender
&lt;br&gt;named &amp;quot;FILE&amp;quot;.
&lt;br&gt;17:34:30,372 ERROR [[/helloworld]] StandardWrapper.Throwable
&lt;br&gt;java.lang.LinkageError: loader constraint violation: when resolving
&lt;br&gt;overridden method
&lt;br&gt;&amp;quot;org.apache.avalon.framework.configuration.SAXConfigurationHandler.fatal
&lt;br&gt;Error(Lorg/xml/sa
&lt;br&gt;x/SAXParseException;)V&amp;quot; the class loader (instance of
&lt;br&gt;org/jboss/classloader/spi/base/BaseClassLoader) of the current class,
&lt;br&gt;org/apache/avalon/framework/configuration/SAXConfig
&lt;br&gt;urationHandler, and its superclass loader (instance of &amp;lt;bootloader&amp;gt;),
&lt;br&gt;have different Class objects for the type org/xml/sax/SAXParseException
&lt;br&gt;used in the signature
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.avalon.framework.configuration.DefaultConfigurationBuilder.ge
&lt;br&gt;tHandler(DefaultConfigurationBuilder.java:155)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.avalon.framework.configuration.DefaultConfigurationBuilder.se
&lt;br&gt;tParser(DefaultConfigurationBuilder.java:131)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.avalon.framework.configuration.DefaultConfigurationBuilder.&amp;lt;i
&lt;br&gt;nit&amp;gt;(DefaultConfigurationBuilder.java:107)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.avalon.framework.configuration.DefaultConfigurationBuilder.&amp;lt;i
&lt;br&gt;nit&amp;gt;(DefaultConfigurationBuilder.java:82)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.turbine.services.avaloncomponent.TurbineAvalonComponentServic
&lt;br&gt;e.initialize(TurbineAvalonComponentService.java:147)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.turbine.services.avaloncomponent.TurbineAvalonComponentServic
&lt;br&gt;e.init(TurbineAvalonComponentService.java:101)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.turbine.services.BaseServiceBroker.initService(BaseServiceBro
&lt;br&gt;ker.java:286)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.turbine.services.BaseServiceBroker.doInitService(BaseServiceB
&lt;br&gt;roker.java:366)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.turbine.services.BaseServiceBroker.initServices(BaseServiceBr
&lt;br&gt;oker.java:338)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.turbine.services.BaseServiceBroker.init(BaseServiceBroker.jav
&lt;br&gt;a:155)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.turbine.Turbine.configure(Turbine.java:377)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.turbine.Turbine.init(Turbine.java:194)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at javax.servlet.GenericServlet.init(GenericServlet.java:212)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.jav
&lt;br&gt;a:1048)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:7
&lt;br&gt;77)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
&lt;br&gt;e.java:129)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
&lt;br&gt;e.java:191)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAs
&lt;br&gt;sociationValve.java:190)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
&lt;br&gt;Base.java:433)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.j
&lt;br&gt;ava:92)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(
&lt;br&gt;SecurityContextEstablishmentValve.java:126)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(S
&lt;br&gt;ecurityContextEstablishmentValve.java:70)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
&lt;br&gt;:127)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
&lt;br&gt;:102)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConn
&lt;br&gt;ectionValve.java:158)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
&lt;br&gt;java:109)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:3
&lt;br&gt;30)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:82
&lt;br&gt;9)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(
&lt;br&gt;Http11Protocol.java:601)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.Thread.run(Thread.java:619)
&lt;br&gt;17:34:30,372 ERROR [[helloworld]] Allocate exception for servlet
&lt;br&gt;helloworld
&lt;br&gt;java.lang.LinkageError: loader constraint violation: when resolving
&lt;br&gt;overridden method
&lt;br&gt;&amp;quot;org.apache.avalon.framework.configuration.SAXConfigurationHandler.fatal
&lt;br&gt;Error(Lorg/xml/sa
&lt;br&gt;x/SAXParseException;)V&amp;quot; the class loader (instance of
&lt;br&gt;org/jboss/classloader/spi/base/BaseClassLoader) of the current class,
&lt;br&gt;org/apache/avalon/framework/configuration/SAXConfig
&lt;br&gt;urationHandler, and its superclass loader (instance of &amp;lt;bootloader&amp;gt;),
&lt;br&gt;have different Class objects for the type org/xml/sax/SAXParseException
&lt;br&gt;used in the signature
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Turbine-2.3.3-and-Jboss-5.01-GA-tp26702792p26702792.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26695653</id>
	<title>Re: ajax and rundata disposal</title>
	<published>2009-12-08T07:30:35Z</published>
	<updated>2009-12-08T07:30:35Z</updated>
	<author>
		<name>Christian Kaiser-5</name>
	</author>
	<content type="html">&lt;br&gt;&amp;gt; Yes, performance is the key here. The difference is that this switch
&lt;br&gt;&amp;gt; makes *all* tools refresh themselves on every request, while the scope
&lt;br&gt;&amp;gt; change affects your single tool only.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;Ok, thanks.
&lt;br&gt;&lt;br&gt;&amp;gt; Again, I can only emphasize that RunData objects should not be used in
&lt;br&gt;&amp;gt; any other scope than request. 
&lt;br&gt;&lt;br&gt;I use the RunData only in a tool to help rendering a response from a
&lt;br&gt;template.
&lt;br&gt;So this is only for one request.
&lt;br&gt;&lt;br&gt;Setting the scope to request does actually work.
&lt;br&gt;&lt;br&gt;The solution provided in
&lt;br&gt;&lt;a href=&quot;http://turbine.markmail.org/message/xchloohdlo7enj2l&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://turbine.markmail.org/message/xchloohdlo7enj2l&lt;/a&gt;&amp;nbsp;should work too,
&lt;br&gt;but haven't used it so far.
&lt;br&gt;&lt;br&gt;bye 
&lt;br&gt;christian
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26695653&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26695653&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26695653.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26674946</id>
	<title>Re: ajax and rundata disposal</title>
	<published>2009-12-07T01:55:19Z</published>
	<updated>2009-12-07T01:55:19Z</updated>
	<author>
		<name>Christian Kaiser-5</name>
	</author>
	<content type="html">&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It sounds as if one of the tools you are are accessing is not 
&lt;br&gt;&amp;gt; re-entrant, meaning that internally it is storing a temporary reference 
&lt;br&gt;&amp;gt; to RunData 
&lt;br&gt;&lt;br&gt;Yes, I think this is re-entrant.
&lt;br&gt;So this might be the source of my problems.
&lt;br&gt;&lt;br&gt;class ATool
&lt;br&gt;&lt;br&gt;public void init(Object data) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (data instanceof RunData) 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.data = (RunData) data;		
&lt;br&gt;}	
&lt;br&gt;public void refresh(RunData data) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.data = data;		
&lt;br&gt;}
&lt;br&gt;public Model get(String modelName) {		
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ModelService modelService = TurbineModel.getService();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return modelService.getModel(modelName,data);			
&lt;br&gt;}
&lt;br&gt;---------------------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;I guess I am supposed to use the tool that way.
&lt;br&gt;&lt;br&gt;public Model get(String modelName, presentData) { 
&lt;br&gt;&amp;nbsp; &amp;nbsp;ModelService modelService = TurbineModel.getService();
&lt;br&gt;&amp;nbsp; &amp;nbsp;return modelService.getModel(modelName,presentData); 
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;Can you confirm that?
&lt;br&gt;&lt;br&gt;christian
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674946&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674946&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26674946.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26632434</id>
	<title>Re: ajax and rundata disposal</title>
	<published>2009-12-03T12:11:35Z</published>
	<updated>2009-12-03T12:11:35Z</updated>
	<author>
		<name>Thomas Vandahl-2</name>
	</author>
	<content type="html">Christian Kaiser wrote:
&lt;br&gt;&amp;gt; I would really like to know why you don't recommend this. Is it for
&lt;br&gt;&amp;gt; performance reasons? Isn't the same thing when I change the tools scope
&lt;br&gt;&amp;gt; to 'request'? 
&lt;br&gt;&lt;br&gt;Yes, performance is the key here. The difference is that this switch
&lt;br&gt;makes *all* tools refresh themselves on every request, while the scope
&lt;br&gt;change affects your single tool only.
&lt;br&gt;&lt;br&gt;Again, I can only emphasize that RunData objects should not be used in
&lt;br&gt;any other scope than request. Because they are pooled, recycled and
&lt;br&gt;reused, your tool might end up in using the data of another request -
&lt;br&gt;which is the case if the RunData object you just used is assigned to a
&lt;br&gt;different thread or session.
&lt;br&gt;&lt;br&gt;Bye, Thomas.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26632434&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26632434&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26632434.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26629746</id>
	<title>Re: ajax and rundata disposal</title>
	<published>2009-12-03T09:23:41Z</published>
	<updated>2009-12-03T09:23:41Z</updated>
	<author>
		<name>Tony Oslund-3</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;I have never had a problem accessing pull tools from Velocity, whether 
&lt;br&gt;the page contains Javascript that causes the form submittal (because of 
&lt;br&gt;a mouse click, the browser closing, etc) or whether the user is 
&lt;br&gt;hammering away at the keyboard.
&lt;br&gt;&lt;br&gt;What is puzzling is how the tool is accessing a null reference to 
&lt;br&gt;RunData since you are passing in the $data parameter from within the 
&lt;br&gt;template. 
&lt;br&gt;&lt;br&gt;I have literally beaten/stress tested my forms to intentionally generate 
&lt;br&gt;overlapping requests, and I make heavy use of pull tools (that I have 
&lt;br&gt;written myself), and I have never had this type of null $data reference 
&lt;br&gt;within a tool. &amp;nbsp;From my experience the pull tool concept is sound.
&lt;br&gt;&lt;br&gt;It sounds as if one of the tools you are are accessing is not 
&lt;br&gt;re-entrant, meaning that internally it is storing a temporary reference 
&lt;br&gt;to RunData (rather than internally passing RunData as a parameter to 
&lt;br&gt;every internal method call). &amp;nbsp; Then at some insignificant time later 
&lt;br&gt;within the same sequence of steps it is trying to reference this 
&lt;br&gt;temporarily stored reference. &amp;nbsp;In a hard hitting, asynchronous model 
&lt;br&gt;this could obviously fail. &amp;nbsp;(Or instead of a reference to RunData, a 
&lt;br&gt;tool could also be trying to access the same long running resource, data 
&lt;br&gt;retrieval, storing data, etc, in which case it would need to control 
&lt;br&gt;access to the resource, or maintain state using an external resource).
&lt;br&gt;&lt;br&gt;&amp;nbsp;From what I understand, no matter how quickly you submit overlapping 
&lt;br&gt;requests (even for the same session), each will have its own unique 
&lt;br&gt;instance of RunData, so the RunData model itself is probably not the 
&lt;br&gt;issue. &amp;nbsp;What happens within the application when these different 
&lt;br&gt;requests are asynchronously accessing the same resources can be solved 
&lt;br&gt;through the implementation of the tool.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Christian Kaiser wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; (1) You create an object and while initializing it you store a reference 
&lt;br&gt;&amp;gt;&amp;gt; to RunData. &amp;nbsp;A reference to this object is stored in the session.
&lt;br&gt;&amp;gt;&amp;gt; ...
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; My code doesn't store objects to RunData. Turbines does. 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hm, the pull tools i am talking about are using TurbineServices.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; These services are fetched &amp;nbsp;from Turbine with the RunData as parameter.
&lt;br&gt;&amp;gt; The services uses a key from the session to get specific data.
&lt;br&gt;&amp;gt; Just to repeat it: If rundata.isDisposed --&amp;gt; session is null --&amp;gt; NPE.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This approach was designed by Henning Schmiedehausen a while ago, so I
&lt;br&gt;&amp;gt; assume thats ok. This was with turbine version 2.3.1 resp 2.3.2-rc1
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Maybe we shouldn't have upgraded to 2.3.3. ??
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; My conclusion of turbine behaviour for now:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If you use simple http requests (non-ajax), you won't have too much
&lt;br&gt;&amp;gt; trouble besides some ERROR logs resulting from a disposed rundata. 
&lt;br&gt;&amp;gt; This may happen if a user doesn't wait for a long request to return, and
&lt;br&gt;&amp;gt; sends another request which overtakes the first one.
&lt;br&gt;&amp;gt; The user would not note anything, because his second request will be
&lt;br&gt;&amp;gt; performed correctly.
&lt;br&gt;&amp;gt; So, we have only errors in the log files as result. Ok, in bad designed
&lt;br&gt;&amp;gt; software it may lead to data inconsistency, but that might be too far
&lt;br&gt;&amp;gt; fetched for now.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Things get worse, if you have asynchronous ajax requests AND you use
&lt;br&gt;&amp;gt; pull tools from velocity templates to generate the response.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; In this case, I suggest to refresh the rundata in all used tools per
&lt;br&gt;&amp;gt; request.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; christian
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26629746&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26629746&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26629746.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26623489</id>
	<title>Re: ajax and rundata disposal</title>
	<published>2009-12-03T01:56:06Z</published>
	<updated>2009-12-03T01:56:06Z</updated>
	<author>
		<name>Christian Kaiser-5</name>
	</author>
	<content type="html">&amp;gt; (1) You create an object and while initializing it you store a reference 
&lt;br&gt;&amp;gt; to RunData. &amp;nbsp;A reference to this object is stored in the session.
&lt;br&gt;&amp;gt; ...
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;My code doesn't store objects to RunData. Turbines does. 
&lt;br&gt;&lt;br&gt;&lt;br&gt;Hm, the pull tools i am talking about are using TurbineServices.
&lt;br&gt;&lt;br&gt;These services are fetched &amp;nbsp;from Turbine with the RunData as parameter.
&lt;br&gt;The services uses a key from the session to get specific data.
&lt;br&gt;Just to repeat it: If rundata.isDisposed --&amp;gt; session is null --&amp;gt; NPE.
&lt;br&gt;&lt;br&gt;This approach was designed by Henning Schmiedehausen a while ago, so I
&lt;br&gt;assume thats ok. This was with turbine version 2.3.1 resp 2.3.2-rc1
&lt;br&gt;&lt;br&gt;Maybe we shouldn't have upgraded to 2.3.3. ??
&lt;br&gt;&lt;br&gt;&lt;br&gt;My conclusion of turbine behaviour for now:
&lt;br&gt;&lt;br&gt;If you use simple http requests (non-ajax), you won't have too much
&lt;br&gt;trouble besides some ERROR logs resulting from a disposed rundata. 
&lt;br&gt;This may happen if a user doesn't wait for a long request to return, and
&lt;br&gt;sends another request which overtakes the first one.
&lt;br&gt;The user would not note anything, because his second request will be
&lt;br&gt;performed correctly.
&lt;br&gt;So, we have only errors in the log files as result. Ok, in bad designed
&lt;br&gt;software it may lead to data inconsistency, but that might be too far
&lt;br&gt;fetched for now.
&lt;br&gt;&lt;br&gt;Things get worse, if you have asynchronous ajax requests AND you use
&lt;br&gt;pull tools from velocity templates to generate the response.
&lt;br&gt;&lt;br&gt;In this case, I suggest to refresh the rundata in all used tools per
&lt;br&gt;request.
&lt;br&gt;&lt;br&gt;christian
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26623489&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26623489&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26623489.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26622736</id>
	<title>Re: ajax and rundata disposal</title>
	<published>2009-12-03T00:51:22Z</published>
	<updated>2009-12-03T00:51:22Z</updated>
	<author>
		<name>Christian Kaiser-5</name>
	</author>
	<content type="html">&lt;br&gt;&amp;gt; services.PullService.tools.per.request.refresh=true
&lt;br&gt;&lt;br&gt;Nice, thanks for the hint.
&lt;br&gt;&lt;br&gt;&amp;gt; I do not recommend this for production use, however.
&lt;br&gt;&lt;br&gt;I would really like to know why you don't recommend this. Is it for
&lt;br&gt;performance reasons? Isn't the same thing when I change the tools scope
&lt;br&gt;to 'request'? 
&lt;br&gt;&lt;br&gt;christian
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26622736&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26622736&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26622736.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26613264</id>
	<title>Re: ajax and rundata disposal</title>
	<published>2009-12-02T09:49:26Z</published>
	<updated>2009-12-02T09:49:26Z</updated>
	<author>
		<name>Thomas Vandahl-2</name>
	</author>
	<content type="html">Christian Kaiser wrote:
&lt;br&gt;&amp;gt; It seems I get same sessions for different RunData instances.
&lt;br&gt;&lt;br&gt;... and vice versa. This is because RunData objects are pooled.
&lt;br&gt;&lt;br&gt;Bye, Thomas.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26613264&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26613264&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26613264.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26613245</id>
	<title>Re: ajax and rundata disposal</title>
	<published>2009-12-02T09:48:25Z</published>
	<updated>2009-12-02T09:48:25Z</updated>
	<author>
		<name>Thomas Vandahl-2</name>
	</author>
	<content type="html">Christian Kaiser wrote:
&lt;br&gt;&amp;gt; I can prevent from this, when I set the tool in a request scope.
&lt;br&gt;&lt;br&gt;Yes, this is the way to do it.
&lt;br&gt;&lt;br&gt;&amp;gt; That means the refresh method of the RunDataApplicationTool is not
&lt;br&gt;&amp;gt; called, but the Rundata is passed to the Tool with the init method.
&lt;br&gt;&lt;br&gt;The refresh()-method call can be forced by setting
&lt;br&gt;&lt;br&gt;services.PullService.tools.per.request.refresh=true
&lt;br&gt;&lt;br&gt;The comment in the original TurbineResources.properties file is like
&lt;br&gt;this (which explains it all)
&lt;br&gt;&lt;br&gt;---8&amp;lt;---
&lt;br&gt;# This determines whether the non-request tools are refreshed
&lt;br&gt;# on each request (request tools aren't ever, because they're
&lt;br&gt;# instantiated for the request only anyway).
&lt;br&gt;services.PullService.tools.per.request.refresh=true
&lt;br&gt;---8&amp;lt;---
&lt;br&gt;&lt;br&gt;I do not recommend this for production use, however.
&lt;br&gt;&lt;br&gt;Bye, Thomas.
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26613245&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26613245&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26613245.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26611912</id>
	<title>Re: ajax and rundata disposal</title>
	<published>2009-12-02T08:33:12Z</published>
	<updated>2009-12-02T08:33:12Z</updated>
	<author>
		<name>Tony Oslund-3</name>
	</author>
	<content type="html">Let me see if I have this straight...
&lt;br&gt;&lt;br&gt;(1) You create an object and while initializing it you store a reference 
&lt;br&gt;to RunData. &amp;nbsp;A reference to this object is stored in the session.
&lt;br&gt;...
&lt;br&gt;&lt;br&gt;(2) Another event takes place causing you to reference the session 
&lt;br&gt;object, where you in turn attempt to use the original reference to your 
&lt;br&gt;original RunData object
&lt;br&gt;...
&lt;br&gt;&lt;br&gt;&lt;br&gt;Instead of (1) and (2) simply include a reference of RunData as a 
&lt;br&gt;parameter to the methods on your object... Do not store any references 
&lt;br&gt;to any instance of RunData. &amp;nbsp;Also, you should not care if you &amp;nbsp;are 
&lt;br&gt;working with different instances of RunData as each instance is single 
&lt;br&gt;use (per event).
&lt;br&gt;&lt;br&gt;FYI... I would use a parameter approach rather than an init approach... &amp;nbsp;
&lt;br&gt;Depending upon implementations, I have seen cases where the form object 
&lt;br&gt;gets called, then the event, and then the form gets called 
&lt;br&gt;redundantly... Even if you are referencing an event (where you might 
&lt;br&gt;always expect the event to be first in the sequence).
&lt;br&gt;&lt;br&gt;...
&lt;br&gt;&lt;br&gt;If you are worried about maintaining state just use the methods on the 
&lt;br&gt;current RunData instance to access whatever you have stored in the 
&lt;br&gt;session. &amp;nbsp;Your state is maintained in the session, and not in any 
&lt;br&gt;particular instance of RunData.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Christian Kaiser wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I think I got it now.
&lt;br&gt;&amp;gt; Please correct me if I misconceive.
&lt;br&gt;&amp;gt; log:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 14:51:27,027 [TP-Processor8] DEBUG ...BmsRunData
&lt;br&gt;&amp;gt; recycle &amp;nbsp;...BmsRunData@1f3bb61
&lt;br&gt;&amp;gt; 14:51:27,033 [TP-Processor8] DEBUG ...ModelTool &amp;nbsp; -
&lt;br&gt;&amp;gt; refresh &amp;nbsp;...BmsRunData@1f3bb61
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 14:51:27,168 [TP-Processor2] DEBUG ...BmsRunData &amp;nbsp;-
&lt;br&gt;&amp;gt; recycle &amp;nbsp;...BmsRunData@3e65be
&lt;br&gt;&amp;gt; 14:51:27,183 [TP-Processor2] DEBUG ...ModelTool &amp;nbsp; -
&lt;br&gt;&amp;gt; refresh &amp;nbsp;...BmsRunData@3e65be
&lt;br&gt;&amp;gt; 14:51:27,245 [TP-Processor2] DEBUG ...BmsRunData &amp;nbsp;-
&lt;br&gt;&amp;gt; dispose &amp;nbsp;...BmsRunData@3e65be
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 14:51:27,249 [TP-Processor8] ERROR ...ModelTool &amp;nbsp; - NPE
&lt;br&gt;&amp;gt; for &amp;nbsp;...BmsRunData@3e65be
&lt;br&gt;&amp;gt; 14:51:27,256 [TP-Processor8] DEBUG ...BmsRunData &amp;nbsp;-
&lt;br&gt;&amp;gt; dispose &amp;nbsp;...BmsRunData@1f3bb61
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Processor2 overtakes Processor8.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The modeltool runs in session scope, so only one instance of it exists.
&lt;br&gt;&amp;gt; After P8 refreshes the rundata in the tool,
&lt;br&gt;&amp;gt; P2 overwrites it with its rundata.
&lt;br&gt;&amp;gt; P2 finished and disposed the rundata.
&lt;br&gt;&amp;gt; The model tool in P8 has a disposed rundata.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I can prevent from this, when I set the tool in a request scope.
&lt;br&gt;&amp;gt; That means the refresh method of the RunDataApplicationTool is not
&lt;br&gt;&amp;gt; called, but the Rundata is passed to the Tool with the init method.
&lt;br&gt;&amp;gt; The tool gets initialized on every request.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thats about it for now.
&lt;br&gt;&amp;gt; Feel free to add your thoughts.
&lt;br&gt;&amp;gt; Thanks for your hints, so far.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Christian
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26611912&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26611912&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26611912&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26611912&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26611912.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26610813</id>
	<title>Re: ajax and rundata disposal</title>
	<published>2009-12-02T07:29:46Z</published>
	<updated>2009-12-02T07:29:46Z</updated>
	<author>
		<name>Christian Kaiser-5</name>
	</author>
	<content type="html">I think I got it now.
&lt;br&gt;Please correct me if I misconceive.
&lt;br&gt;log:
&lt;br&gt;&lt;br&gt;14:51:27,027 [TP-Processor8] DEBUG ...BmsRunData
&lt;br&gt;recycle &amp;nbsp;...BmsRunData@1f3bb61
&lt;br&gt;14:51:27,033 [TP-Processor8] DEBUG ...ModelTool &amp;nbsp; -
&lt;br&gt;refresh &amp;nbsp;...BmsRunData@1f3bb61
&lt;br&gt;&lt;br&gt;14:51:27,168 [TP-Processor2] DEBUG ...BmsRunData &amp;nbsp;-
&lt;br&gt;recycle &amp;nbsp;...BmsRunData@3e65be
&lt;br&gt;14:51:27,183 [TP-Processor2] DEBUG ...ModelTool &amp;nbsp; -
&lt;br&gt;refresh &amp;nbsp;...BmsRunData@3e65be
&lt;br&gt;14:51:27,245 [TP-Processor2] DEBUG ...BmsRunData &amp;nbsp;-
&lt;br&gt;dispose &amp;nbsp;...BmsRunData@3e65be
&lt;br&gt;&lt;br&gt;14:51:27,249 [TP-Processor8] ERROR ...ModelTool &amp;nbsp; - NPE
&lt;br&gt;for &amp;nbsp;...BmsRunData@3e65be
&lt;br&gt;14:51:27,256 [TP-Processor8] DEBUG ...BmsRunData &amp;nbsp;-
&lt;br&gt;dispose &amp;nbsp;...BmsRunData@1f3bb61
&lt;br&gt;&lt;br&gt;&lt;br&gt;Processor2 overtakes Processor8.
&lt;br&gt;&lt;br&gt;The modeltool runs in session scope, so only one instance of it exists.
&lt;br&gt;After P8 refreshes the rundata in the tool,
&lt;br&gt;P2 overwrites it with its rundata.
&lt;br&gt;P2 finished and disposed the rundata.
&lt;br&gt;The model tool in P8 has a disposed rundata.
&lt;br&gt;&lt;br&gt;&lt;br&gt;I can prevent from this, when I set the tool in a request scope.
&lt;br&gt;That means the refresh method of the RunDataApplicationTool is not
&lt;br&gt;called, but the Rundata is passed to the Tool with the init method.
&lt;br&gt;The tool gets initialized on every request.
&lt;br&gt;&lt;br&gt;Thats about it for now.
&lt;br&gt;Feel free to add your thoughts.
&lt;br&gt;Thanks for your hints, so far.
&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26610813&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26610813&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26610813.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26606609</id>
	<title>Re: ajax and rundata disposal</title>
	<published>2009-12-02T02:19:03Z</published>
	<updated>2009-12-02T02:19:03Z</updated>
	<author>
		<name>Christian Kaiser-5</name>
	</author>
	<content type="html">It seems I get same sessions for different RunData instances.
&lt;br&gt;&lt;br&gt;&lt;br&gt;2009-12-02 10:48:37,132 [TP-Processor1] DEBUG ...BmsRunData -
&lt;br&gt;recycle &amp;nbsp;...BmsRunData@edd8bc SessionID &amp;nbsp;No Session
&lt;br&gt;2009-12-02 10:48:37,139 [TP-Processor1] DEBUG ...ModelTool &amp;nbsp;-
&lt;br&gt;refresh &amp;nbsp;...BmsRunData@edd8bc SessionID
&lt;br&gt;13E9EEE6182B2F7E8D9053C08676FFE1
&lt;br&gt;2009-12-02 10:48:37,141 [TP-Processor1] DEBUG ...BmsRunData -
&lt;br&gt;dispose &amp;nbsp;...BmsRunData@edd8bc SessionID
&lt;br&gt;13E9EEE6182B2F7E8D9053C08676FFE1
&lt;br&gt;2009-12-02 10:48:37,315 [TP-Processor3] DEBUG ...BmsRunData -
&lt;br&gt;recycle &amp;nbsp;...BmsRunData@402c41 SessionID &amp;nbsp;No Session
&lt;br&gt;2009-12-02 10:48:37,323 [TP-Processor3] DEBUG ...ModelTool &amp;nbsp;-
&lt;br&gt;refresh &amp;nbsp;...BmsRunData@402c41 SessionID
&lt;br&gt;13E9EEE6182B2F7E8D9053C08676FFE1
&lt;br&gt;2009-12-02 10:48:37,488 [TP-Processor3] DEBUG ...BmsRunData -
&lt;br&gt;dispose &amp;nbsp;...BmsRunData@402c41 SessionID
&lt;br&gt;13E9EEE6182B2F7E8D9053C08676FFE1
&lt;br&gt;2009-12-02 10:48:37,776 [TP-Processor8] DEBUG ...BmsRunData -
&lt;br&gt;recycle &amp;nbsp;...BmsRunData@edd8bc SessionID &amp;nbsp;No Session
&lt;br&gt;2009-12-02 10:48:37,784 [TP-Processor8] DEBUG ...ModelTool &amp;nbsp;-
&lt;br&gt;refresh &amp;nbsp;...BmsRunData@edd8bc SessionID
&lt;br&gt;13E9EEE6182B2F7E8D9053C08676FFE1
&lt;br&gt;2009-12-02 10:48:37,793 [TP-Processor8] DEBUG ...BmsRunData -
&lt;br&gt;dispose &amp;nbsp;...BmsRunData@edd8bc SessionID
&lt;br&gt;13E9EEE6182B2F7E8D9053C08676FFE1
&lt;br&gt;2009-12-02 10:48:37,979 [TP-Processor5] DEBUG ...BmsRunData -
&lt;br&gt;recycle &amp;nbsp;...BmsRunData@402c41 SessionID &amp;nbsp;No Session
&lt;br&gt;2009-12-02 10:48:37,987 [TP-Processor5] DEBUG ...ModelTool &amp;nbsp;-
&lt;br&gt;refresh &amp;nbsp;...BmsRunData@402c41 SessionID
&lt;br&gt;13E9EEE6182B2F7E8D9053C08676FFE1
&lt;br&gt;2009-12-02 10:48:37,990 [TP-Processor5] DEBUG ...BmsRunData -
&lt;br&gt;dispose &amp;nbsp;...BmsRunData@402c41 SessionID
&lt;br&gt;13E9EEE6182B2F7E8D9053C08676FFE1
&lt;br&gt;&lt;br&gt;greetings
&lt;br&gt;christian
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Am Dienstag, den 01.12.2009, 18:59 -0600 schrieb Tony Oslund:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Are you getting new sessions?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; You stated that you have different instances of rundata.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Are you getting unique session id's?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Tony
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On Dec 1, 2009, at 3:05 AM, Christian Kaiser &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26606609&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christian.kaiser@...&lt;/a&gt; 
&lt;br&gt;&amp;gt; &amp;nbsp;&amp;gt; wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Am Montag, den 30.11.2009, 19:12 +0000 schrieb Sheldon Ross:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Are you sure your action is not generating a form submittal at the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; same time as an ajax request?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Yes I am sure.
&lt;br&gt;&amp;gt; &amp;gt; I can provoke this by entering two URLs in the browser, one after the
&lt;br&gt;&amp;gt; &amp;gt; other.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; christian
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26606609&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26606609&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26606609&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26606609&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;Christian Kaiser &amp;nbsp;| &amp;nbsp;Softwareentwicklung
&lt;br&gt;&lt;br&gt;blue cell networks GmbH
&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Hainstraße 14 &amp;nbsp;| &amp;nbsp;96047 Bamberg, Germany &amp;nbsp;| &amp;nbsp;phone:+49 &amp;nbsp;(0) 951-30 20 67
&lt;br&gt;121 | &amp;nbsp;fax: +49 &amp;nbsp;(0) 951-30 20 67 201
&lt;br&gt;&lt;br&gt;email: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26606609&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christian.kaiser@...&lt;/a&gt; &amp;nbsp;| &amp;nbsp;skype:
&lt;br&gt;bcn_christian.kaiser &amp;nbsp;| &amp;nbsp;web: www.bluecellnetworks.com
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26606609&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26606609&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26606609.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26601941</id>
	<title>Re: ajax and rundata disposal</title>
	<published>2009-12-01T16:59:25Z</published>
	<updated>2009-12-01T16:59:25Z</updated>
	<author>
		<name>Tony Oslund</name>
	</author>
	<content type="html">Are you getting new sessions?
&lt;br&gt;&lt;br&gt;You stated that you have different instances of rundata.
&lt;br&gt;&lt;br&gt;Are you getting unique session id's?
&lt;br&gt;&lt;br&gt;Tony
&lt;br&gt;&lt;br&gt;On Dec 1, 2009, at 3:05 AM, Christian Kaiser &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26601941&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christian.kaiser@...&lt;/a&gt; 
&lt;br&gt;&amp;nbsp;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Am Montag, den 30.11.2009, 19:12 +0000 schrieb Sheldon Ross:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Are you sure your action is not generating a form submittal at the
&lt;br&gt;&amp;gt;&amp;gt; same time as an ajax request?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Yes I am sure.
&lt;br&gt;&amp;gt; I can provoke this by entering two URLs in the browser, one after the
&lt;br&gt;&amp;gt; other.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; christian
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26601941&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26601941&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26601941&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26601941&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26601941.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26593542</id>
	<title>Re: ajax and rundata disposal</title>
	<published>2009-12-01T07:19:57Z</published>
	<updated>2009-12-01T07:19:57Z</updated>
	<author>
		<name>Christian Kaiser-5</name>
	</author>
	<content type="html">maybe it has to do with scope of the pull tools I am using.
&lt;br&gt;&lt;br&gt;I use the ModelService, done by Henning, maybe you know it.
&lt;br&gt;&lt;br&gt;The model tool runs in authorized scope and uses the contents of the
&lt;br&gt;rundata to get a model.
&lt;br&gt;&lt;br&gt;As far as I understand it, a rundata object will be passed to the tool
&lt;br&gt;when the session gets initialized.
&lt;br&gt;&lt;br&gt;This tool will be used by all requests. It may happen that the rundata
&lt;br&gt;object, stored in the tool, is disposed when some request wants to fetch
&lt;br&gt;a model with it.
&lt;br&gt;&lt;br&gt;I tried to put the tool in request scope. But it seems that the tool
&lt;br&gt;doesn't get a refresh call with the rundata object in that scope.
&lt;br&gt;&lt;br&gt;&lt;br&gt;I am not sure if I am on the right path, but hopefully this helps you to
&lt;br&gt;understand my set up.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;christian
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Am Dienstag, den 01.12.2009, 11:08 +0100 schrieb Christian Kaiser:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; logs proof that there are multiple RunData Objects:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 2009-12-01 11:03:08,673 [TP-Processor6] DEBUG de.beamzone.sm.service.rundata.BmsRunData - recycle de.beamzone.sm.service.rundata.BmsRunData@1afc148
&lt;br&gt;&amp;gt; 2009-12-01 11:03:08,752 [TP-Processor6] DEBUG de.beamzone.sm.service.rundata.BmsRunData - dispose de.beamzone.sm.service.rundata.BmsRunData@1afc148
&lt;br&gt;&amp;gt; 2009-12-01 11:03:08,981 [TP-Processor8] DEBUG de.beamzone.sm.service.rundata.BmsRunData - recycle de.beamzone.sm.service.rundata.BmsRunData@1afc148
&lt;br&gt;&amp;gt; 2009-12-01 11:03:09,109 [TP-Processor8] DEBUG de.beamzone.sm.service.rundata.BmsRunData - dispose de.beamzone.sm.service.rundata.BmsRunData@1afc148
&lt;br&gt;&amp;gt; 2009-12-01 11:03:09,357 [TP-Processor8] DEBUG de.beamzone.sm.service.rundata.BmsRunData - recycle de.beamzone.sm.service.rundata.BmsRunData@1afc148
&lt;br&gt;&amp;gt; 2009-12-01 11:03:09,557 [TP-Processor2] DEBUG de.beamzone.sm.service.rundata.BmsRunData - dispose de.beamzone.sm.service.rundata.BmsRunData@296a42
&lt;br&gt;&amp;gt; 2009-12-01 11:03:09,795 [TP-Processor8] ERROR de.beamzone.sm.tools.ModelTool - Cannot get model Campaign for RunData de.beamzone.sm.service.rundata.BmsRunData@296a42. Error: java.lang.NullPointerException
&lt;br&gt;&amp;gt; 2009-12-01 11:03:09,984 [TP-Processor8] DEBUG de.beamzone.sm.service.rundata.BmsRunData - dispose de.beamzone.sm.service.rundata.BmsRunData@1afc148
&lt;br&gt;&amp;gt; 2009-12-01 11:03:10,385 [TP-Processor7] DEBUG de.beamzone.sm.service.rundata.BmsRunData - recycle de.beamzone.sm.service.rundata.BmsRunData@296a42
&lt;br&gt;&amp;gt; 2009-12-01 11:03:10,392 [TP-Processor7] DEBUG de.beamzone.sm.service.rundata.BmsRunData - dispose de.beamzone.sm.service.rundata.BmsRunData@296a42
&lt;br&gt;&amp;gt; 2009-12-01 11:03:10,573 [TP-Processor3] DEBUG de.beamzone.sm.service.rundata.BmsRunData - recycle de.beamzone.sm.service.rundata.BmsRunData@1afc148
&lt;br&gt;&amp;gt; 2009-12-01 11:03:10,603 [TP-Processor3] DEBUG de.beamzone.sm.service.rundata.BmsRunData - dispose de.beamzone.sm.service.rundata.BmsRunData@1afc148
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Am Dienstag, den 01.12.2009, 10:00 +0100 schrieb Christian Kaiser:
&lt;br&gt;&amp;gt; &amp;gt; First of all, thanks for your answers. :-)
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Am Montag, den 30.11.2009, 18:34 +0100 schrieb Thomas Vandahl: 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Christian Kaiser wrote:
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; If the ajax request is the first request to finish, it disposes the
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; RunData.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; This leads to bad behavour of my http request, because this request has
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; to deal with a disposed RunData.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; RunData is a per-request object that is borrowed from a pool at request
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; creation and returned (and recycled) at request completion. A RunData
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; object is not meant to be shared between different requests. If you
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; believe you must do this, you have a serious design problem in your
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; software.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Ok, I don't believe I must do this.
&lt;br&gt;&amp;gt; &amp;gt; I thought it is meant to be that way.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Then again, your main screen request and your Ajax request are totally
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; unrelated from Turbine's point of view. They should use two different
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; RunData objects anyway.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Concerning your previous mentioned point, I don't think that this issue
&lt;br&gt;&amp;gt; &amp;gt; is Ajax related any more. I face the same problem with ordinary
&lt;br&gt;&amp;gt; &amp;gt; requests, sent fast in row.
&lt;br&gt;&amp;gt; &amp;gt; If one request overtakes the other while processing, it ends up in a
&lt;br&gt;&amp;gt; &amp;gt; disposed Rundata of the first request, too.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Is this a common problem?
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Can I prevent from it?
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; No, this should not happen at any time.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; That sounds promising.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Please let me now if I can provide you with additional information.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Well, yes. Let's have a look at some code. This problem sounds very
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; strange to me.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I overwrote The DefaultTurbineRunData. ( I think this was to identify disposed rundata ??).
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 	/**
&lt;br&gt;&amp;gt; &amp;gt; 	 * 
&lt;br&gt;&amp;gt; &amp;gt; 	 * Gets the servlet session information. Return null if data expired.
&lt;br&gt;&amp;gt; &amp;gt; 	 * 
&lt;br&gt;&amp;gt; &amp;gt; 	 * @return the session.
&lt;br&gt;&amp;gt; &amp;gt; 	 */
&lt;br&gt;&amp;gt; &amp;gt; 	public HttpSession getSession() {
&lt;br&gt;&amp;gt; &amp;gt; 		HttpServletRequest request = getRequest();
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 		if (request == null) {
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 			return null;
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 		}
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 		return request.getSession();
&lt;br&gt;&amp;gt; &amp;gt; 	}
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Let me know which other code is of interest.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Thanks,
&lt;br&gt;&amp;gt; &amp;gt; christian
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Bye, Thomas.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26593542&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26593542&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Christian Kaiser &amp;nbsp;| &amp;nbsp;Softwareentwicklung
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; blue cell networks GmbH
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Hainstraße 14 &amp;nbsp;| &amp;nbsp;96047 Bamberg, Germany &amp;nbsp;| &amp;nbsp;phone:+49 &amp;nbsp;(0) 951-30 20 67
&lt;br&gt;&amp;gt; &amp;gt; 121 | &amp;nbsp;fax: +49 &amp;nbsp;(0) 951-30 20 67 201
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; email: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26593542&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christian.kaiser@...&lt;/a&gt; &amp;nbsp;| &amp;nbsp;skype:
&lt;br&gt;&amp;gt; &amp;gt; bcn_christian.kaiser &amp;nbsp;| &amp;nbsp;web: www.bluecellnetworks.com
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26593542&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26593542&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26593542&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26593542&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;Christian Kaiser &amp;nbsp;| &amp;nbsp;Softwareentwicklung
&lt;br&gt;&lt;br&gt;blue cell networks GmbH
&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Hainstraße 14 &amp;nbsp;| &amp;nbsp;96047 Bamberg, Germany &amp;nbsp;| &amp;nbsp;phone:+49 &amp;nbsp;(0) 951-30 20 67
&lt;br&gt;121 | &amp;nbsp;fax: +49 &amp;nbsp;(0) 951-30 20 67 201
&lt;br&gt;&lt;br&gt;email: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26593542&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christian.kaiser@...&lt;/a&gt; &amp;nbsp;| &amp;nbsp;skype:
&lt;br&gt;bcn_christian.kaiser &amp;nbsp;| &amp;nbsp;web: www.bluecellnetworks.com
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26593542&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26593542&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26593542.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26589443</id>
	<title>Re: ajax and rundata disposal</title>
	<published>2009-12-01T02:08:37Z</published>
	<updated>2009-12-01T02:08:37Z</updated>
	<author>
		<name>Christian Kaiser-5</name>
	</author>
	<content type="html">logs proof that there are multiple RunData Objects:
&lt;br&gt;&lt;br&gt;2009-12-01 11:03:08,673 [TP-Processor6] DEBUG
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData - recycle
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData@1afc148
&lt;br&gt;2009-12-01 11:03:08,752 [TP-Processor6] DEBUG
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData - dispose
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData@1afc148
&lt;br&gt;2009-12-01 11:03:08,981 [TP-Processor8] DEBUG
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData - recycle
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData@1afc148
&lt;br&gt;2009-12-01 11:03:09,109 [TP-Processor8] DEBUG
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData - dispose
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData@1afc148
&lt;br&gt;2009-12-01 11:03:09,357 [TP-Processor8] DEBUG
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData - recycle
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData@1afc148
&lt;br&gt;2009-12-01 11:03:09,557 [TP-Processor2] DEBUG
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData - dispose
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData@296a42
&lt;br&gt;2009-12-01 11:03:09,795 [TP-Processor8] ERROR
&lt;br&gt;de.beamzone.sm.tools.ModelTool - Cannot get model Campaign for RunData
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData@296a42. Error:
&lt;br&gt;java.lang.NullPointerException
&lt;br&gt;2009-12-01 11:03:09,984 [TP-Processor8] DEBUG
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData - dispose
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData@1afc148
&lt;br&gt;2009-12-01 11:03:10,385 [TP-Processor7] DEBUG
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData - recycle
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData@296a42
&lt;br&gt;2009-12-01 11:03:10,392 [TP-Processor7] DEBUG
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData - dispose
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData@296a42
&lt;br&gt;2009-12-01 11:03:10,573 [TP-Processor3] DEBUG
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData - recycle
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData@1afc148
&lt;br&gt;2009-12-01 11:03:10,603 [TP-Processor3] DEBUG
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData - dispose
&lt;br&gt;de.beamzone.sm.service.rundata.BmsRunData@1afc148
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Am Dienstag, den 01.12.2009, 10:00 +0100 schrieb Christian Kaiser:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; First of all, thanks for your answers. :-)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Am Montag, den 30.11.2009, 18:34 +0100 schrieb Thomas Vandahl: 
&lt;br&gt;&amp;gt; &amp;gt; Christian Kaiser wrote:
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; If the ajax request is the first request to finish, it disposes the
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; RunData.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; This leads to bad behavour of my http request, because this request has
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; to deal with a disposed RunData.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; RunData is a per-request object that is borrowed from a pool at request
&lt;br&gt;&amp;gt; &amp;gt; creation and returned (and recycled) at request completion. A RunData
&lt;br&gt;&amp;gt; &amp;gt; object is not meant to be shared between different requests. If you
&lt;br&gt;&amp;gt; &amp;gt; believe you must do this, you have a serious design problem in your
&lt;br&gt;&amp;gt; &amp;gt; software.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Ok, I don't believe I must do this.
&lt;br&gt;&amp;gt; I thought it is meant to be that way.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Then again, your main screen request and your Ajax request are totally
&lt;br&gt;&amp;gt; &amp;gt; unrelated from Turbine's point of view. They should use two different
&lt;br&gt;&amp;gt; &amp;gt; RunData objects anyway.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Concerning your previous mentioned point, I don't think that this issue
&lt;br&gt;&amp;gt; is Ajax related any more. I face the same problem with ordinary
&lt;br&gt;&amp;gt; requests, sent fast in row.
&lt;br&gt;&amp;gt; If one request overtakes the other while processing, it ends up in a
&lt;br&gt;&amp;gt; disposed Rundata of the first request, too.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Is this a common problem?
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Can I prevent from it?
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; No, this should not happen at any time.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; That sounds promising.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Please let me now if I can provide you with additional information.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Well, yes. Let's have a look at some code. This problem sounds very
&lt;br&gt;&amp;gt; &amp;gt; strange to me.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I overwrote The DefaultTurbineRunData. ( I think this was to identify disposed rundata ??).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	/**
&lt;br&gt;&amp;gt; 	 * 
&lt;br&gt;&amp;gt; 	 * Gets the servlet session information. Return null if data expired.
&lt;br&gt;&amp;gt; 	 * 
&lt;br&gt;&amp;gt; 	 * @return the session.
&lt;br&gt;&amp;gt; 	 */
&lt;br&gt;&amp;gt; 	public HttpSession getSession() {
&lt;br&gt;&amp;gt; 		HttpServletRequest request = getRequest();
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 		if (request == null) {
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 			return null;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 		}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 		return request.getSession();
&lt;br&gt;&amp;gt; 	}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Let me know which other code is of interest.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; christian
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Bye, Thomas.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26589443&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26589443&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Christian Kaiser &amp;nbsp;| &amp;nbsp;Softwareentwicklung
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; blue cell networks GmbH
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hainstraße 14 &amp;nbsp;| &amp;nbsp;96047 Bamberg, Germany &amp;nbsp;| &amp;nbsp;phone:+49 &amp;nbsp;(0) 951-30 20 67
&lt;br&gt;&amp;gt; 121 | &amp;nbsp;fax: +49 &amp;nbsp;(0) 951-30 20 67 201
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; email: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26589443&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christian.kaiser@...&lt;/a&gt; &amp;nbsp;| &amp;nbsp;skype:
&lt;br&gt;&amp;gt; bcn_christian.kaiser &amp;nbsp;| &amp;nbsp;web: www.bluecellnetworks.com
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26589443&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26589443&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26589443&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26589443&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26589443.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26588635</id>
	<title>RE: ajax and rundata disposal</title>
	<published>2009-12-01T01:05:26Z</published>
	<updated>2009-12-01T01:05:26Z</updated>
	<author>
		<name>Christian Kaiser-5</name>
	</author>
	<content type="html">Am Montag, den 30.11.2009, 19:12 +0000 schrieb Sheldon Ross:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Are you sure your action is not generating a form submittal at the
&lt;br&gt;&amp;gt; same time as an ajax request? 
&lt;br&gt;&lt;br&gt;Yes I am sure.
&lt;br&gt;I can provoke this by entering two URLs in the browser, one after the
&lt;br&gt;other.
&lt;br&gt;&lt;br&gt;christian
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26588635&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26588635&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26588635.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26588570</id>
	<title>Re: ajax and rundata disposal</title>
	<published>2009-12-01T01:00:02Z</published>
	<updated>2009-12-01T01:00:02Z</updated>
	<author>
		<name>Christian Kaiser-5</name>
	</author>
	<content type="html">First of all, thanks for your answers. :-)
&lt;br&gt;&lt;br&gt;Am Montag, den 30.11.2009, 18:34 +0100 schrieb Thomas Vandahl: 
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Christian Kaiser wrote:
&lt;br&gt;&amp;gt; &amp;gt; If the ajax request is the first request to finish, it disposes the
&lt;br&gt;&amp;gt; &amp;gt; RunData.
&lt;br&gt;&amp;gt; &amp;gt; This leads to bad behavour of my http request, because this request has
&lt;br&gt;&amp;gt; &amp;gt; to deal with a disposed RunData.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; RunData is a per-request object that is borrowed from a pool at request
&lt;br&gt;&amp;gt; creation and returned (and recycled) at request completion. A RunData
&lt;br&gt;&amp;gt; object is not meant to be shared between different requests. If you
&lt;br&gt;&amp;gt; believe you must do this, you have a serious design problem in your
&lt;br&gt;&amp;gt; software.
&lt;/div&gt;&lt;br&gt;Ok, I don't believe I must do this.
&lt;br&gt;I thought it is meant to be that way.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Then again, your main screen request and your Ajax request are totally
&lt;br&gt;&amp;gt; unrelated from Turbine's point of view. They should use two different
&lt;br&gt;&amp;gt; RunData objects anyway.
&lt;br&gt;&lt;br&gt;Concerning your previous mentioned point, I don't think that this issue
&lt;br&gt;is Ajax related any more. I face the same problem with ordinary
&lt;br&gt;requests, sent fast in row.
&lt;br&gt;If one request overtakes the other while processing, it ends up in a
&lt;br&gt;disposed Rundata of the first request, too.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Is this a common problem?
&lt;br&gt;&amp;gt; &amp;gt; Can I prevent from it?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; No, this should not happen at any time.
&lt;br&gt;&amp;gt; 
&lt;br&gt;That sounds promising.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Please let me now if I can provide you with additional information.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Well, yes. Let's have a look at some code. This problem sounds very
&lt;br&gt;&amp;gt; strange to me.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;I overwrote The DefaultTurbineRunData. ( I think this was to identify disposed rundata ??).
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Gets the servlet session information. Return null if data expired.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @return the session.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public HttpSession getSession() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HttpServletRequest request = getRequest();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (request == null) {
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return null;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return request.getSession();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;Let me know which other code is of interest.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;christian
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Bye, Thomas.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26588570&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26588570&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;Christian Kaiser &amp;nbsp;| &amp;nbsp;Softwareentwicklung
&lt;br&gt;&lt;br&gt;blue cell networks GmbH
&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Hainstraße 14 &amp;nbsp;| &amp;nbsp;96047 Bamberg, Germany &amp;nbsp;| &amp;nbsp;phone:+49 &amp;nbsp;(0) 951-30 20 67
&lt;br&gt;121 | &amp;nbsp;fax: +49 &amp;nbsp;(0) 951-30 20 67 201
&lt;br&gt;&lt;br&gt;email: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26588570&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christian.kaiser@...&lt;/a&gt; &amp;nbsp;| &amp;nbsp;skype:
&lt;br&gt;bcn_christian.kaiser &amp;nbsp;| &amp;nbsp;web: www.bluecellnetworks.com
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26588570&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26588570&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26588570.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26580211</id>
	<title>RE: ajax and rundata disposal</title>
	<published>2009-11-30T11:12:33Z</published>
	<updated>2009-11-30T11:12:33Z</updated>
	<author>
		<name>Sheldon Ross</name>
	</author>
	<content type="html">&lt;br&gt;Are you sure your action is not generating a form submittal at the same time as an ajax request?
&lt;br&gt;&lt;br&gt;For instance, if you have a &amp;lt;button&amp;gt; object on a page with in a form, in most browsers that will submit the form
&lt;br&gt;even if you only wanted the button onclick listener to launch an ajax event.
&lt;br&gt;&lt;br&gt;Sheldon Ross
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Subject: ajax and rundata disposal
&lt;br&gt;&amp;gt; From: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26580211&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christian.kaiser@...&lt;/a&gt;
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26580211&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Date: Mon, 30 Nov 2009 16:42:59 +0100
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Dear Turbine Users,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I have hard times with the disposal of the rundata.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I integrated the json-rpc service in my turbine 2.3.3 application.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Now when worst comes to worst, a common http request (user click) &amp;nbsp;is
&lt;br&gt;&amp;gt; sent at the same time as an automated ajax request that tries to build
&lt;br&gt;&amp;gt; up the last site.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; If the ajax request is the first request to finish, it disposes the
&lt;br&gt;&amp;gt; RunData.
&lt;br&gt;&amp;gt; This leads to bad behavour of my http request, because this request has
&lt;br&gt;&amp;gt; to deal with a disposed RunData.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Is this a common problem?
&lt;br&gt;&amp;gt; Can I prevent from it?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks in advance for your help.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Please let me now if I can provide you with additional information.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; christian
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Christian Kaiser &amp;nbsp;| &amp;nbsp;Softwareentwicklung
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; blue cell networks GmbH
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hainstraße 14 &amp;nbsp;| &amp;nbsp;96047 Bamberg, Germany &amp;nbsp;| &amp;nbsp;phone:+49 &amp;nbsp;(0) 951-30 20 67
&lt;br&gt;&amp;gt; 121 | &amp;nbsp;fax: +49 &amp;nbsp;(0) 951-30 20 67 201
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; email: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26580211&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christian.kaiser@...&lt;/a&gt; &amp;nbsp;| &amp;nbsp;skype:
&lt;br&gt;&amp;gt; bcn_christian.kaiser &amp;nbsp;| &amp;nbsp;web: www.bluecellnetworks.com
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26580211&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26580211&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&amp;nbsp;		 	 &amp;nbsp; 		 &amp;nbsp;
&lt;br&gt;_________________________________________________________________
&lt;br&gt;Hotmail: Trusted email with Microsoft's powerful SPAM protection.
&lt;br&gt;&lt;a href=&quot;http://clk.atdmt.com/GBL/go/177141664/direct/01/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clk.atdmt.com/GBL/go/177141664/direct/01/&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://clk.atdmt.com/GBL/go/177141664/direct/01/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clk.atdmt.com/GBL/go/177141664/direct/01/&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26580211.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26578628</id>
	<title>Re: ajax and rundata disposal</title>
	<published>2009-11-30T09:34:20Z</published>
	<updated>2009-11-30T09:34:20Z</updated>
	<author>
		<name>Thomas Vandahl-2</name>
	</author>
	<content type="html">Christian Kaiser wrote:
&lt;br&gt;&amp;gt; If the ajax request is the first request to finish, it disposes the
&lt;br&gt;&amp;gt; RunData.
&lt;br&gt;&amp;gt; This leads to bad behavour of my http request, because this request has
&lt;br&gt;&amp;gt; to deal with a disposed RunData.
&lt;br&gt;&lt;br&gt;RunData is a per-request object that is borrowed from a pool at request
&lt;br&gt;creation and returned (and recycled) at request completion. A RunData
&lt;br&gt;object is not meant to be shared between different requests. If you
&lt;br&gt;believe you must do this, you have a serious design problem in your
&lt;br&gt;software.
&lt;br&gt;&lt;br&gt;Then again, your main screen request and your Ajax request are totally
&lt;br&gt;unrelated from Turbine's point of view. They should use two different
&lt;br&gt;RunData objects anyway.
&lt;br&gt;&lt;br&gt;&amp;gt; Is this a common problem?
&lt;br&gt;&amp;gt; Can I prevent from it?
&lt;br&gt;&lt;br&gt;No, this should not happen at any time.
&lt;br&gt;&lt;br&gt;&amp;gt; Please let me now if I can provide you with additional information.
&lt;br&gt;&lt;br&gt;Well, yes. Let's have a look at some code. This problem sounds very
&lt;br&gt;strange to me.
&lt;br&gt;&lt;br&gt;Bye, Thomas.
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26578628&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26578628&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26578628.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26576745</id>
	<title>ajax and rundata disposal</title>
	<published>2009-11-30T07:42:59Z</published>
	<updated>2009-11-30T07:42:59Z</updated>
	<author>
		<name>Christian Kaiser-5</name>
	</author>
	<content type="html">Dear Turbine Users,
&lt;br&gt;&lt;br&gt;I have hard times with the disposal of the rundata.
&lt;br&gt;&lt;br&gt;I integrated the json-rpc service in my turbine 2.3.3 application.
&lt;br&gt;&lt;br&gt;Now when worst comes to worst, a common http request (user click) &amp;nbsp;is
&lt;br&gt;sent at the same time as an automated ajax request that tries to build
&lt;br&gt;up the last site.
&lt;br&gt;&lt;br&gt;If the ajax request is the first request to finish, it disposes the
&lt;br&gt;RunData.
&lt;br&gt;This leads to bad behavour of my http request, because this request has
&lt;br&gt;to deal with a disposed RunData.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Is this a common problem?
&lt;br&gt;Can I prevent from it?
&lt;br&gt;&lt;br&gt;Thanks in advance for your help.
&lt;br&gt;&lt;br&gt;Please let me now if I can provide you with additional information.
&lt;br&gt;&lt;br&gt;christian
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Christian Kaiser &amp;nbsp;| &amp;nbsp;Softwareentwicklung
&lt;br&gt;&lt;br&gt;blue cell networks GmbH
&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Hainstraße 14 &amp;nbsp;| &amp;nbsp;96047 Bamberg, Germany &amp;nbsp;| &amp;nbsp;phone:+49 &amp;nbsp;(0) 951-30 20 67
&lt;br&gt;121 | &amp;nbsp;fax: +49 &amp;nbsp;(0) 951-30 20 67 201
&lt;br&gt;&lt;br&gt;email: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26576745&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christian.kaiser@...&lt;/a&gt; &amp;nbsp;| &amp;nbsp;skype:
&lt;br&gt;bcn_christian.kaiser &amp;nbsp;| &amp;nbsp;web: www.bluecellnetworks.com
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26576745&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26576745&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ajax-and-rundata-disposal-tp26576745p26576745.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26468519</id>
	<title>Fulcrum Intake 1.0.6 released</title>
	<published>2009-11-22T11:19:25Z</published>
	<updated>2009-11-22T11:19:25Z</updated>
	<author>
		<name>Thomas Vandahl-2</name>
	</author>
	<content type="html">The Fulcrum Intake team is pleased to announce the fulcrum-intake-1.0.6
&lt;br&gt;release!
&lt;br&gt;&lt;br&gt;Fulcrum Intake Service
&lt;br&gt;&lt;br&gt;Changes in this version include:
&lt;br&gt;&lt;br&gt;New features:
&lt;br&gt;o Added locale handling to Intake, added user-defined field types.
&lt;br&gt;&lt;br&gt;Fixed Bugs:
&lt;br&gt;o Catch only Exceptions that are actually thrown.
&lt;br&gt;o Intake won't use interfaces for the mapTo() method. &amp;nbsp;Issue: TRB-11.
&lt;br&gt;&amp;nbsp; Thanks to Evan Koffler.
&lt;br&gt;o The number validators did not set an invalid number message when
&lt;br&gt;&amp;nbsp; initialized with the default constructor &amp;nbsp;Issue: TRB-74. Thanks to
&lt;br&gt;&amp;nbsp; Susi Berrington.
&lt;br&gt;o Intake did not correctly parse the message of a rule or
&lt;br&gt;&amp;nbsp; required-message from intake.xml &amp;nbsp;Issue: TRB-68. Thanks to Ronny
&lt;br&gt;&amp;nbsp; Voelker.
&lt;br&gt;o Intake was not handling empty values correctly. &amp;nbsp;Issue: TRB-9. Thanks
&lt;br&gt;&amp;nbsp; to Jürgen Hoffmann.
&lt;br&gt;o Intake was not loading the correct Default Validators when the rules
&lt;br&gt;&amp;nbsp; for a field are empty. &amp;nbsp;Issue: TRB-14. Thanks to Jürgen Hoffmann.
&lt;br&gt;&lt;br&gt;Changes:
&lt;br&gt;o Moved the initialization code of the service implementation to
&lt;br&gt;&amp;nbsp; initialize()
&lt;br&gt;o Removed the dependency on ORO by replacing the regular expression
&lt;br&gt;&amp;nbsp; handling with java.util.regexp. This might have slight implications on
&lt;br&gt;&amp;nbsp; the regexp syntax.
&lt;br&gt;o Use the localize features of the parser to simplify the value
&lt;br&gt;&amp;nbsp; assignment in Intake fields. Made handling of empty values consistent
&lt;br&gt;&amp;nbsp; over all number field types.
&lt;br&gt;o Updated locale handling to use the new localized parameter parser.
&lt;br&gt;&amp;nbsp; This removes the dependency from LocalizationService
&lt;br&gt;o Intake now handles the case where the mapToObject does not map to all
&lt;br&gt;&amp;nbsp; fields in the group. &amp;nbsp;Issue: TRB-9. Thanks to Jürgen Hoffmann.
&lt;br&gt;o Update to Apache License 2.0
&lt;br&gt;o Use inherited getLogger() instead of Log in classes extending
&lt;br&gt;&amp;nbsp; AbstractLogEnabled.
&lt;br&gt;&lt;br&gt;Removed:
&lt;br&gt;o Removed the Intake class. It was duplicating the IntakeServiceFacade.
&lt;br&gt;&lt;br&gt;Have fun!
&lt;br&gt;-Fulcrum Intake team
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26468519&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26468519&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Fulcrum-Intake-1.0.6-released-tp26468519p26468519.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26467124</id>
	<title>RE: Does links need to be case sensitive?</title>
	<published>2009-11-22T09:08:29Z</published>
	<updated>2009-11-22T09:08:29Z</updated>
	<author>
		<name>madhuranjan kumar sinha</name>
	</author>
	<content type="html">Yes.
&lt;br&gt;&lt;br&gt;- Madhu
&lt;br&gt;&lt;br&gt;-----Original Message-----
&lt;br&gt;From: Thomas Vandahl [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26467124&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tv@...&lt;/a&gt;] 
&lt;br&gt;Sent: Sunday, November 22, 2009 10:27 PM
&lt;br&gt;To: Turbine Users List
&lt;br&gt;Subject: Re: Does links need to be case sensitive?
&lt;br&gt;&lt;br&gt;On 19.11.09 15:38, Ludwig Magnusson wrote:
&lt;br&gt;&amp;gt; Hello!
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; We had a problem with our screen classes. In some cases they weren't
&lt;br&gt;loaded.
&lt;br&gt;&amp;gt; I noticed that the loading was screen-sensitive so that if I typed in
&lt;br&gt;the
&lt;br&gt;&amp;gt; url www.mydomain.com/mypage.vm and the site had a screen class called
&lt;br&gt;&amp;gt; MyPage.java, it was never executed.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Is there any way around this?
&lt;br&gt;&lt;br&gt;Yes. The mapping of templates to classes is done by the
&lt;br&gt;JavaScreenFactory IIRC. This factory is pluggable so you can roll your
&lt;br&gt;own.
&lt;br&gt;&lt;br&gt;Bye, Thomas.
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26467124&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26467124&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;quot;Legal Disclaimer: This electronic message and all contents contain information from Cybage Software Private Limited which may be privileged, confidential, or otherwise protected from disclosure. The information is intended to be for the addressee(s) only. If you are not an addressee, any disclosure, copy, distribution, or use of the contents of this message is strictly prohibited. If you have received this electronic message in error please notify the sender by reply e-mail to and destroy the original message and all copies. Cybage has taken every reasonable precaution to minimize the risk of malicious content in the mail, but is not liable for any damage you may sustain as a result of any malicious content in this e-mail. You should carry out your own malicious content checks before opening the e-mail or attachment.&amp;quot;
&lt;br&gt;www.cybage.com 
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26467124&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26467124&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Does-links-need-to-be-case-sensitive--tp26432672p26467124.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26467008</id>
	<title>Re: Does links need to be case sensitive?</title>
	<published>2009-11-22T08:57:01Z</published>
	<updated>2009-11-22T08:57:01Z</updated>
	<author>
		<name>Thomas Vandahl-2</name>
	</author>
	<content type="html">On 19.11.09 15:38, Ludwig Magnusson wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello!
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; We had a problem with our screen classes. In some cases they weren't loaded.
&lt;br&gt;&amp;gt; I noticed that the loading was screen-sensitive so that if I typed in the
&lt;br&gt;&amp;gt; url www.mydomain.com/mypage.vm and the site had a screen class called
&lt;br&gt;&amp;gt; MyPage.java, it was never executed.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Is there any way around this?
&lt;/div&gt;&lt;br&gt;Yes. The mapping of templates to classes is done by the
&lt;br&gt;JavaScreenFactory IIRC. This factory is pluggable so you can roll your own.
&lt;br&gt;&lt;br&gt;Bye, Thomas.
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26467008&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26467008&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Does-links-need-to-be-case-sensitive--tp26432672p26467008.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26458788</id>
	<title>Re: Weird Tomcat issue.</title>
	<published>2009-11-21T09:26:16Z</published>
	<updated>2009-11-21T09:26:16Z</updated>
	<author>
		<name>Tom Metz</name>
	</author>
	<content type="html">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta content=&quot;text/html;charset=UTF-8&quot; http-equiv=&quot;Content-Type&quot;&gt;
&lt;/head&gt;
&lt;body bgcolor=&quot;#ffffff&quot; text=&quot;#000000&quot;&gt;
&lt;font face=&quot;Times New Roman&quot;&gt;Hi,&lt;br&gt;
I do. We had a strange deaths of our turbine web apps last year. The
problem was at 64b Java at Linux in version 1.6.0 between updates 5 and
8 (approximately). We always received the trace, that the java proces
died, and always at the same place. We discovered, that it was in the
village library, but the problem couldn't be repeatable at developer's
boxes. Afterwards we discovered, that the problem was in the java hot
spot and it occured only, when the village library wasn't processed via
the hot spot in approximately 10 minutes after the start. If it
happened later, the proces died. Everything runs well after the big
Java 6 update nr. 10. There are no more problems from that time.&lt;br&gt;
&lt;br&gt;
But still, our crash looked different, no nice informations about the
shutdown in the log file, just the core dump ;-)&lt;br&gt;
&lt;br&gt;
             Best regards&lt;br&gt;
                                  Tom&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;br&gt;
Thomas Vandahl wrote:
&lt;blockquote cite=&quot;mid:4B02F2DB.7070608@apache.org&quot; type=&quot;cite&quot;&gt;
  &lt;pre wrap=&quot;&quot;&gt;Sheldon Ross wrote:
  &lt;/pre&gt;
  &lt;blockquote type=&quot;cite&quot;&gt;
    &lt;pre wrap=&quot;&quot;&gt;Tomcat is shutting down. There are no java processes on the server after this happens. The machine itself is still up and running fine.
    &lt;/pre&gt;
  &lt;/blockquote&gt;
  &lt;pre wrap=&quot;&quot;&gt;&lt;!----&gt;
Look into catalina.out if it exists. Sometimes the JVM just decides to
die. BTW: Anyone having experience with JAI crashing/hanging the JVM?


Bye, Thomas.

---------------------------------------------------------------------
To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26458788&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26458788&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
  &lt;/pre&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;div class=&quot;moz-signature&quot;&gt;-- &lt;br&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;2&quot; height=&quot;190&quot; width=&quot;595&quot;&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign=&quot;top&quot;&gt;&lt;img alt=&quot;HSF logo&quot; title=&quot;HSF&quot; src=&quot;http://old.nabble.com/attachment/26458788/0/hsfITC.png&quot; align=&quot;right&quot; height=&quot;145&quot; width=&quot;310&quot;&gt;&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;
      &lt;pre wrap=&quot;&quot;&gt;&lt;big&gt;Ing. Tomas Metz jr.
HSF spol. s r. o.

tel   : +420 352 638 111
mob   : +420 724 005 323
email : &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26458788&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tomm@...&lt;/a&gt;
jabber: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26458788&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tom.metz@...&lt;/a&gt;
www   : &lt;a href=&quot;http://www.hsf.cz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;www.hsf.cz&lt;/a&gt;&lt;/big&gt;&lt;/pre&gt;
      &lt;a href=&quot;http://www.hsf.cz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt; &lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;font-size: small;&quot;&gt;Tato zpráva obsahuje důvěrné a/nebo právně
chráněné informace.
Pokud nejste správným adresátem, popřípadě jste obdržel(a) tuto zprávu
omylem,
informujte, prosím, obratem odesílatele a smažte tuto zprávu.
Nedovolené kopírování a přeposílání této zprávy není dovoleno.&lt;/p&gt;
&lt;p style=&quot;font-size: small;&quot;&gt;Diese E-Mail enthält vertrauliche und/oder
rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich
erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese
Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser
Mail ist nicht gestattet.
&lt;/p&gt;
&lt;p style=&quot;font-size: small;&quot;&gt;This e-mail may contain confidential
and/or privileged information. If you are not
the intended recipient (or have received this e-mail in error) notify
the sender immediately
and destroy this e-mail. Any unauthorized copying, disclosure or
distribution of the material in this e-mail is strictly forbidden.&lt;/p&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;br /&gt; &lt;br /&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26458788&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26458788&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Weird-Tomcat-issue.-tp26375815p26458788.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26435201</id>
	<title>[ANNOUNCEMENT] Fulcrum XSLT 1.1.0 released</title>
	<published>2009-11-19T14:23:49Z</published>
	<updated>2009-11-19T14:23:49Z</updated>
	<author>
		<name>Siegfried Goeschl</name>
	</author>
	<content type="html">The fulcrum-xslt-team is pleased to announce the fulcrum-xslt-1.1.0.jar
&lt;br&gt;release!
&lt;br&gt;&lt;br&gt;Fulcrum XSLT Service
&lt;br&gt;&lt;br&gt;Changes in this version include:
&lt;br&gt;&lt;br&gt;New features:
&lt;br&gt;o Added an additional transform() method which takes no XML input
&lt;br&gt;document.
&lt;br&gt;o Added a regression test which really does a XSL transformation.
&lt;br&gt;o Moved to M2 build
&lt;br&gt;&lt;br&gt;&lt;br&gt;Changes:
&lt;br&gt;o Synced with 2_3 branch (excluding the replacement of the cache Map()
&lt;br&gt;with a LRUMap()). &amp;nbsp;Thanks to Thomas Vandahl for the patches. &amp;nbsp;Issue:
&lt;br&gt;TRB-19. Thanks to Thomas Vandahl.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Have fun!
&lt;br&gt;-fulcrum-xslt-team
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26435201&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26435201&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ANNOUNCEMENT--Fulcrum-XSLT-1.1.0-released-tp26435201p26435201.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26432672</id>
	<title>Does links need to be case sensitive?</title>
	<published>2009-11-19T06:38:51Z</published>
	<updated>2009-11-19T06:38:51Z</updated>
	<author>
		<name>Ludwig Magnusson-2</name>
	</author>
	<content type="html">Hello!
&lt;br&gt;&lt;br&gt;We had a problem with our screen classes. In some cases they weren't loaded.
&lt;br&gt;I noticed that the loading was screen-sensitive so that if I typed in the
&lt;br&gt;url www.mydomain.com/mypage.vm and the site had a screen class called
&lt;br&gt;MyPage.java, it was never executed.
&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Is there any way around this?
&lt;br&gt;&lt;br&gt;/Ludwig
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Does-links-need-to-be-case-sensitive--tp26432672p26432672.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26395571</id>
	<title>Re: Weird Tomcat issue.</title>
	<published>2009-11-17T11:00:43Z</published>
	<updated>2009-11-17T11:00:43Z</updated>
	<author>
		<name>Thomas Vandahl-2</name>
	</author>
	<content type="html">Sheldon Ross wrote:
&lt;br&gt;&amp;gt; Tomcat is shutting down. There are no java processes on the server after this happens. The machine itself is still up and running fine.
&lt;br&gt;&lt;br&gt;Look into catalina.out if it exists. Sometimes the JVM just decides to
&lt;br&gt;die. BTW: Anyone having experience with JAI crashing/hanging the JVM?
&lt;br&gt;&lt;br&gt;&lt;br&gt;Bye, Thomas.
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26395571&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26395571&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Weird-Tomcat-issue.-tp26375815p26395571.html" />
</entry>

</feed>
