Oooh.. that's a tricky one.

Basically Transfer stored an instance of JavaLoader in the server scope, so
that it never expires out (which can cause a permgen memory leak). If there
are multiple copies of Transfer that are the same version on a server, they
share the same JavaLoader, as they all use the same classes.

This is actually the first time I've heard of this issue - but I can see why
it can be one. Because they have also turned off access to CF internal Java
objects, JavaLoader is using it's own JavaProxy.cfc - which you don't have
access to. If it was just creating it's usual Java objects, you wouldn't
have an issue.

If this is an issue for you - a quick workaround would be - go into the
JavaLoader facade:
http://transfer.riaforge.org/index.cfm?event=page.svnview&path=%2Ftransfer%2Ftrunk%2Fcom%2Futil&file=JavaLoader%2Ecfc

And change the UUID to something else (maybe something with your application
name in it).

Mark

On Sun, Jul 3, 2011 at 3:29 AM, Marc <[email protected]> wrote:

> Hi,
>
> I have a website on a shared hosting server. A while ago I reported a
> problem: my webapplication tried to read a component (JavaLoader) in a
> directory other different than mine so Coldfusion threw a file permission
> error. The problem was finally  resolved by my shared host via a hack. Now I
> get the same problem again:
>
> "access denied (java.io.FilePermission 
> D:\home\spanishwizards.com\wwwroot\transfer\com\util\javaloader\JavaProxy.cfc
> read)".
>
> My domain is hosted a D:\home\marcbakker.com so that error makes sense.
> Transfer should try to read D:\home\marcbakker.com
> \wwwroot\transfer\com\util\javaloader\JavaProxy.cfc
>
> Backtracking via the CF errortrace I came here at
>
> D:\home\marcbakker.com\subdomains\eenschoolintogo\transfer\com\util\JavaLoader.cfc
> line 55
> return getJavaLoader().create(arguments.className);
>
> which is
>
> <cffunction name="getJavaLoader" access="public"
> returntype="transfer.com.util.javaLoader.JavaLoader" output="false">
>     <cfreturn StructFind(application, getJavaLoaderKey()) />
> </cffunction>
>
> Dumping the return value of this function with getMetaData() the path key
> showed the component was located at D:\home\spanishwizards.com
> \wwwroot\transfer\com\util\javaloader\JavaProxy.cfc.
>
> So basically what happens here is Transfer is retrieving a component which
> is cached in the Server scope. This component is located at a specific
> domain on the shared host that host multiple sites, each of which could be
> using Transfer.. Then I get an error since CF tries to read JAvaProxy.cfc at
> a path location belonging to one of te many hosted sites.
>
> I'm not quite sure what happens here but am wondering - why does Transfer
> store components in the Server scope? Doesn't this break code in a shared
> hosting environment? Couldn't it better cache stuff in the Application
> scope?
>
> I attach a dump of the error so you can see the error stack.
>
> Again - I might be totally off but I was just wondering.
>
> Thanks,
>
> Marc
>
> --
> Before posting questions to the group please read:
>
> http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer
>
> Try out the new Transfer ORM Custom Google Search:
> http://www.google.com/cse/home?cx=002375903941309441958:2s7wbd5ocb8
>
> You received this message because you are subscribed to the Google Groups
> "transfer-dev" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/transfer-dev?hl=en
>



-- 
E: [email protected]
T: http://www.twitter.com/neurotic
W: www.compoundtheory.com

cf.Objective(ANZ) - Nov 17, 18 - Melbourne Australia
http://www.cfobjective.com.au

Hands-on ColdFusion ORM Training
www.ColdFusionOrmTraining.com

-- 
Before posting questions to the group please read:
http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer

Try out the new Transfer ORM Custom Google Search:
http://www.google.com/cse/home?cx=002375903941309441958:2s7wbd5ocb8

You received this message because you are subscribed to the Google Groups 
"transfer-dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/transfer-dev?hl=en

Reply via email to