2012-07-31 4 views
1

Я создаю веб-приложение java, которое должно запускаться на нескольких серверах приложений (причал, tomcat, websphere, jboss). В этом приложении есть дополнительный источник данных. Если он настроен, приложение будет использовать его, иначе некоторые функции приложения будут отключены.Дополнительные источники данных в веб-приложениях Java

Проблема в том, что если я определяю ресурс-ref в файле web.xml, он должен быть определен в контексте приложения. Если я не определяю его в 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> 

Значение окр-записи может быть изменено во время развертывания ,

+0

AFAICS проблема, заявленная OP, заключается в том, что если вы добавите '', вы по-прежнему вынуждены предоставлять соответствующий источник данных на сервере приложений, который может быть не нужен. – skuro

+0

WebSphere позволяет указать привязка к ресурсу, который не существует. Таким образом, для сценария, в котором OP не нужен источник данных, он может предоставить «фиктивную» привязку. –

+0

Я надеялся избежать необходимости определять фиктивный источник данных, поскольку он делает ненужным сложность развертывания. – timotep

Смежные вопросы