2012-06-10 2 views
0

ColdFusion8 애플리케이션에서 실행되는 javaLoader를 얻으려고하고 있으며 결승점을 통과하기 위해 도움이 필요합니다.ColdFusion8에서 javaloader로 Java 라이브러리를 설정하는 방법은 무엇입니까?

이것은 내가 지금까지 무엇을 가지고 :

application.cfc 내부의

... 
THIS.mappings["/javaloader"] = GetDirectoryFromPath(GetCurrentTemplatePath()) & "tools/javaloader"; 
... 

<cffunction name="onApplicationStart" returnType="boolean" output="false" hint="application initalizer"> 
    <cfscript> 
    Application.str = structNew(); 
    Application.str.myJavaLoaderKey = "someUUID_javaloader"; 
    Application.str.jarPaths = arrayNew(1); 
    </cfscript> 
    <cfif (NOT structKeyExists(server, Application.str.myJavaLoaderKey))> 
     <!--- add path to class files to jarPath Array ---> 
     <cfset Application.str.jarPaths[1] = expandPath("/classes/BCrypt.class")> 
     <!--- this will map out to: ...htdocs/classes/BCrypt.class ---> 

     <cfif (NOT structKeyExists(server, Application.str.myJavaLoaderKey))> 
      <cflock name="#Hash(Application.str.myJavaLoaderKey)#" type="exclusive" timeout="10"> 
       <cfset server[Application.str.myJavaLoaderKey] = createObject("component", "javaloader.JavaLoader")> 
       <!--- tried .init(Application.str.jarPaths) here, but didn't do anything ---> 
      </cflock> 
     </cfif> 
    </cfif> 
    <cfreturn true /> 
</cffunction> 

herehere의 지시에 따라 이루어졌다. 내가의 인스턴스를 만들려고 할 때

<cfsript> 
    pass = "some_password"; 
    <!--- this is accessible ---> 
    cryptonite = server[Application.str.myJavaLoaderKey]; 
    <!--- now trying to call init() with respective path to create an instance ---> 
    <!--- BREAKS HERE ---> 
    bCrypt = cryptonite.init(Application.str.jarPaths[1]); 

    hashed = bCrypt.hashpw(pass, bcrypt.gensalt());   
</cfscript>        

나는 cryptonite 변수 무사를 덤프 수 있지만, 내 handler.cfc에서

, 정말 같은 javaloader과 BCrypt 클래스에 액세스하려고 해요 BCrypt, 스크립트가 실패합니다.

질문 :
은 내가 여기까지 만든 행복 해요,하지만 난 내가 잘못 무엇을 단서로 지금 몇 시간 동안이에 앉아 있었어요. 더 많은 통찰력을 가진 누군가가 나에게 방향을 제시 할 수 있기를 바랍니다.

도움 주셔서 감사합니다.

+0


당신이 그것을 해결했다. 하지만 다음 번에는 "스크립트 실패"가 모호합니다 : 어떻게 실패합니까 : 빈 페이지, 오류, ...? 항상 전체 오류 메시지를 포함하십시오 (Java 객체를 사용할 때는 전체 스택 추적도 포함하십시오). – Leigh

답변