2012-07-31 4 views
1

여러 응용 프로그램 서버 (부두, 바람둥이, 웹 스피어, jboss)에서 실행해야하는 Java 웹 응용 프로그램을 만들고 있습니다. 이 응용 프로그램에는 선택적인 데이터 소스가 있습니다. 구성되어 있으면 응용 프로그램에서 사용하며, 그렇지 않으면 응용 프로그램의 일부 기능이 사용 불가능하게됩니다.java 웹 응용 프로그램의 선택적 데이터 소스

web.xml에서 resource-ref를 정의하면 응용 프로그램 컨텍스트에서 정의해야합니다. web.xml에 정의하지 않으면 websphere에 애플리케이션을 배치하려고 할 때 애플리케이션의 데이터 소스를 참조 할 방법이 없다.

websphere가 응용 프로그램 컨텍스트에서 정의 할 필요없이 선택적 데이터 소스를 인식하도록하는 방법이 있습니까?

답변

1

"선택적 데이터 원본"을 사용하지 마십시오. 대신, 항상 자원 심판 정의하고 ENV-항목 추가 :

@Resource(name="useDataSource") 
private boolean useDataSource; 

... 또는 해당 XML :

<env-entry> 
    <env-entry-name>useDataSource</env-entry-name> 
    <env-entry-type>java.lang.Boolean</env-entry-type> 
    <env-entry-value>false</env-entry-value> 
</env-entry> 

ENV-항목의 값은 배치시 변경 될 수 있습니다 .

+0

AFAICS OP에서 언급 한 문제는 ''를 추가해도 응용 프로그램 서버에 일치하는 데이터 소스를 제공해야한다는 것이므로 필요하지 않을 수 있습니다. – skuro

+0

WebSphere에서는 존재하지 않는 자원에 바인딩. 따라서 OP에서 데이터 소스가 필요하지 않은 시나리오의 경우 "더미"바인딩을 제공 할 수 있습니다. –

+0

불필요하게 복잡하게 전개되기 때문에 더미 데이터 소스를 정의하지 않아도됩니다. – timotep

관련 문제