maybe it has to do with scope of the pull tools I am using.
I use the ModelService, done by Henning, maybe you know it.
The model tool runs in authorized scope and uses the contents of the
rundata to get a model.
As far as I understand it, a rundata object will be passed to the tool
when the session gets initialized.
This tool will be used by all requests. It may happen that the rundata
object, stored in the tool, is disposed when some request wants to fetch
a model with it.
I tried to put the tool in request scope. But it seems that the tool
doesn't get a refresh call with the rundata object in that scope.
I am not sure if I am on the right path, but hopefully this helps you to
understand my set up.
christian
Am Dienstag, den 01.12.2009, 11:08 +0100 schrieb Christian Kaiser:
> logs proof that there are multiple RunData Objects:
>
> 2009-12-01 11:03:08,673 [TP-Processor6] DEBUG
> de.beamzone.sm.service.rundata.BmsRunData - recycle
> de.beamzone.sm.service.rundata.bmsrund...@1afc148
> 2009-12-01 11:03:08,752 [TP-Processor6] DEBUG
> de.beamzone.sm.service.rundata.BmsRunData - dispose
> de.beamzone.sm.service.rundata.bmsrund...@1afc148
> 2009-12-01 11:03:08,981 [TP-Processor8] DEBUG
> de.beamzone.sm.service.rundata.BmsRunData - recycle
> de.beamzone.sm.service.rundata.bmsrund...@1afc148
> 2009-12-01 11:03:09,109 [TP-Processor8] DEBUG
> de.beamzone.sm.service.rundata.BmsRunData - dispose
> de.beamzone.sm.service.rundata.bmsrund...@1afc148
> 2009-12-01 11:03:09,357 [TP-Processor8] DEBUG
> de.beamzone.sm.service.rundata.BmsRunData - recycle
> de.beamzone.sm.service.rundata.bmsrund...@1afc148
> 2009-12-01 11:03:09,557 [TP-Processor2] DEBUG
> de.beamzone.sm.service.rundata.BmsRunData - dispose
> de.beamzone.sm.service.rundata.bmsrund...@296a42
> 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.bmsrund...@296a42. Error:
> java.lang.NullPointerException
> 2009-12-01 11:03:09,984 [TP-Processor8] DEBUG
> de.beamzone.sm.service.rundata.BmsRunData - dispose
> de.beamzone.sm.service.rundata.bmsrund...@1afc148
> 2009-12-01 11:03:10,385 [TP-Processor7] DEBUG
> de.beamzone.sm.service.rundata.BmsRunData - recycle
> de.beamzone.sm.service.rundata.bmsrund...@296a42
> 2009-12-01 11:03:10,392 [TP-Processor7] DEBUG
> de.beamzone.sm.service.rundata.BmsRunData - dispose
> de.beamzone.sm.service.rundata.bmsrund...@296a42
> 2009-12-01 11:03:10,573 [TP-Processor3] DEBUG
> de.beamzone.sm.service.rundata.BmsRunData - recycle
> de.beamzone.sm.service.rundata.bmsrund...@1afc148
> 2009-12-01 11:03:10,603 [TP-Processor3] DEBUG
> de.beamzone.sm.service.rundata.BmsRunData - dispose
> de.beamzone.sm.service.rundata.bmsrund...@1afc148
>
>
>
> Am Dienstag, den 01.12.2009, 10:00 +0100 schrieb Christian Kaiser:
> > First of all, thanks for your answers. :-)
> >
> > Am Montag, den 30.11.2009, 18:34 +0100 schrieb Thomas Vandahl:
> > > Christian Kaiser wrote:
> > > > If the ajax request is the first request to finish, it disposes the
> > > > RunData.
> > > > This leads to bad behavour of my http request, because this request has
> > > > to deal with a disposed RunData.
> > >
> > > RunData is a per-request object that is borrowed from a pool at request
> > > creation and returned (and recycled) at request completion. A RunData
> > > object is not meant to be shared between different requests. If you
> > > believe you must do this, you have a serious design problem in your
> > > software.
> >
> > Ok, I don't believe I must do this.
> > I thought it is meant to be that way.
> >
> >
> >
> >
> >
> > >
> > > Then again, your main screen request and your Ajax request are totally
> > > unrelated from Turbine's point of view. They should use two different
> > > RunData objects anyway.
> >
> > Concerning your previous mentioned point, I don't think that this issue
> > is Ajax related any more. I face the same problem with ordinary
> > requests, sent fast in row.
> > If one request overtakes the other while processing, it ends up in a
> > disposed Rundata of the first request, too.
> >
> >
> > >
> > > > Is this a common problem?
> > > > Can I prevent from it?
> > >
> > > No, this should not happen at any time.
> > >
> > That sounds promising.
> > >
> > > > Please let me now if I can provide you with additional information.
> > >
> > > Well, yes. Let's have a look at some code. This problem sounds very
> > > strange to me.
> > >
> > >
> > >
> >
> > I overwrote The DefaultTurbineRunData. ( I think this was to identify
> > disposed rundata ??).
> >
> > /**
> > *
> > * Gets the servlet session information. Return null if data expired.
> > *
> > * @return the session.
> > */
> > public HttpSession getSession() {
> > HttpServletRequest request = getRequest();
> >
> > if (request == null) {
> >
> > return null;
> >
> > }
> >
> > return request.getSession();
> > }
> >
> > Let me know which other code is of interest.
> >
> > Thanks,
> > christian
> >
> >
> >
> > > Bye, Thomas.
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [email protected]
> > > For additional commands, e-mail: [email protected]
> > >
> >
> >
> > Christian Kaiser | Softwareentwicklung
> >
> > blue cell networks GmbH
> >
> >
> >
> > Hainstraße 14 | 96047 Bamberg, Germany | phone:+49 (0) 951-30 20 67
> > 121 | fax: +49 (0) 951-30 20 67 201
> >
> > email: [email protected] | skype:
> > bcn_christian.kaiser | web: www.bluecellnetworks.com
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
Christian Kaiser | Softwareentwicklung
blue cell networks GmbH
Hainstraße 14 | 96047 Bamberg, Germany | phone:+49 (0) 951-30 20 67
121 | fax: +49 (0) 951-30 20 67 201
email: [email protected] | skype:
bcn_christian.kaiser | web: www.bluecellnetworks.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]