Funky Session Variables with Coldbox, Transfer, and ColdSpring....

I'm getting a new session variable on every single request on CF9,
Coldbox 3, ColdSpring 1.2, and Transfer (pluggable cache). The name of
the variable appears to be a GUID, and the value is always an empty
struct.

The variable is created when I use the following (I Put this in
OnRequestStart to prove a point):
<cfset ModelTest = getPlugin('ioc').getBean('ModelTest') />

Perhaps I haven't set something up right, or I'm using the framework
incorrectly, or this is a bug somewhere? I would love to put this
behind me... so any help is appreciated :wink: One thing to note is that
when I used the old version of Transfer 1.1, there would always only
be a single variable in the session scope, named ' transfer '.

Thanks,
Thomas

Screenshot:
http://thomasdehli.com/cb-transfer-test.png

Application Sample (includes everything):
http://thomasdehli.com/cb-transfer-test.zip

Steps to Reproduce:

I've experienced the same thing but I think it's benign.

1.I believe the cause is in transfer/com/facade/SessionFacade.cfc, line 31:

session[createUUID()] = StructNew();

According to the comment, it's a check to see if sessions are enabled.

2. I only experience it when I "reinit" the framework as that
recreates Transfer and runs that code. And only in the session that is
calling "reinit" (other sessions are not affected)

If you're getting it on _every_ request, are you recreating Transfer
on _every_ request?

- Gabriel

Gabriel,

That makes perfect sense, and I am getting a new session variable on
EVERY single request. I guess that means I'm getting Transfer on every
request. I must be missing something obvious or a framework setting.

To clarify, singletons are created in ColdSpring by default right?
Maybe there is something wrong with my transfer bean definition in
ColdSpring.xml above?
I should be able to use the following statement without recreating
Transfer right?

<cfset ModelTest = getPlugin('ioc').getBean('ModelTest') />

Thanks again,
Thomas

Unfortunately, I don't use Coldspring. I use the built in dependency
injection in Coldbox. Maybe someone else will respond re: coldspring.

Additionally, Coldbox also has some extras to work directly with
Transfer if you ever want to give those a try. It's what I use to load
Transfer in my app.

http://wiki.coldbox.org/wiki/Extras:TransferORM.cfm

- Gabriel