java Web应用程序中的可选数据源

时间:2012-07-31 10:15:27

标签: java websphere datasource web.xml

我正在创建一个应该在多个应用服务器(jetty,tomcat,websphere,jboss)上运行的java Web应用程序。此应用程序中有一个可选的数据源。如果已配置,则应用程序将使用它,否则将禁用应用程序中的某些功能。

问题是,如果我在web.xml中定义resource-ref,则需要在应用程序上下文中定义它。如果我没有在web.xml中定义它,那么当我尝试在websphere中部署应用程序时,无法在应用程序中引用数据源。

有没有办法让websphere知道可选数据源而不必总是在应用程序上下文中定义它?

1 个答案:

答案 0 :(得分:1)

请勿使用“可选数据源”。相反,始终定义resource-ref,并添加env-entry:

@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条目的值。