2010-12-29 2 views
0

GlassFish v3에 webapp (war)를 배포했으며 사용자 지정 리소스에 정의 된 속성에서 읽으려고합니다. 내 응용 프로그램에서 Glassfish 사용자 지정 속성 리소스가 파일에서로드되지 않음

, 나는 같은 속성을 정의했습니다 :

@Resource(mappedName = "TestServletProperties") 
private Properties properties; 

을이처럼 활용하십시오 JNDI 사용자 정의 자원라는

protected void doGet(final HttpServletRequest request, 
     final HttpServletResponse response) throws ServletException, 
     java.io.IOException 
{ 
    String propertyOne = properties.getProperty("testServlet.propertyOne"); 
    String propertyTwo = properties.getProperty("propertyTwo"); 

    StringBuffer buffer = new StringBuffer("Properties Retrieved\n"); 
    buffer.append("Property One: " + propertyOne + "\n"); 
    buffer.append("Property Two: " + propertyTwo + "\n"); 

    try 
    { 
     response.getWriter().write(buffer.toString()); 
    } 

    catch (Exception ex) 
    { 
     try 
     { 
      log.warn("Exception thrown", ex); 
      response.getWriter().write(ex.getStackTrace().toString()); 
     } 
     catch (IOException io) 
     { 
      log.warn("IOException thrown", io); 
     } 
    }    
} 

글래스 피시, 나는 만든 java.util.Properties 유형의 팩토리 클래스 및 org.glassfish.resources.custom.factory.PropertiesFactory를 사용하는 TestServletProperties. 나는 또한

c:\Program Files\glassfishv3\glassfish\domains\domain1\applications\Test\WEB-INF\classes\TestServlet_lab.properties 

나는 파일이 존재하는지 확인한 시도했습니다

/Program Files/glassfishv3/glassfish/domains/domain1/applications/Test/WEB-INF/classes/TestServlet_lab.properties 

: 자원의 속성의 절대 경로로 설정된 값을 갖는 하나 개의 속성 "fileName는"파일이 참조 된 속성을 포함합니다. 불행히도, 나는 내 응답에서 두 값 모두에 대해 "null"을 반환합니다.

의견이 있으십니까?

+0

이 문제점에 대한 버그를 생성했습니다 : http://java.net/jira/browse/GLASSFISH-15402 – sdoca

답변

1

하는 데 도움이됩니다.

0

2.4 (또는 이전 버전) 서블릿 버전의 헤더가있는 web.xml 파일이있을 수 있습니다.

@Resource 및 기타 주석은 web.xml의 헤더에 버전 2.5 이상이 있어야 처리됩니다. 단순히 버전을 변경하지 않고 네임 스페이스가 다른 곳에서 새 헤더를 복사하여 붙여 넣으십시오.

희망이 솔루션은 그냥 "fileName에"대 정규화 "org.glassfish.resources.custom.factory.PropertiesFactory.fileName"를 사용해야한다는 것입니다

관련 문제