我正在创建一个java web应用程序,它应该在多个应用程序服务器(jetty、tomcat、websphere、jboss)上运行。此应用程序中有一个可选的数据源。如果已配置,应用程序将使用它,否则应用程序中的某些功能将被禁用。
问题是,如果我在 web.xml 中定义资源引用,则需要在应用程序上下文中定义它。如果我没有在 web.xml 中定义它,那么当我尝试在 websphere 中部署应用程序时,将无法引用应用程序中的数据源。
有没有办法让 websphere 知道可选数据源,而不必总是在应用程序上下文中定义它?
最佳答案
不要使用“可选数据源”。相反,始终定义资源引用,并添加环境条目:
@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>
环境条目的值可以在部署时更改。
关于java - Java Web 应用程序中的可选数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11737866/