2014-12-01 1 views
0

я встретил ситуацию, провайдер JNDI на разных серверах приложений могут иметь различный прокси-интерфейс/класс (например, в JMS, Websphere может иметь javax.jms.QueueConnectionFactory вместо javax.jms.ConnectionFactory), так что в web.xmlявляется res-типом, необходимым для настройки JNDI в web.xml?

<resource-ref> 
    <description>JNDI for jms access</description> 
    <res-ref-name>jms/ConnectionFactory</res-ref-name> 
    <res-type>javax.jms.QueueConnectionFactory</res-type> 
    <res-auth>Container</res-auth> 
</resource-ref> 

Является <res-type>javax.sql.DataSource</res-type> обязательным чтобы все работало?

Я думаю, что имя JNDI должно быть прекрасным, поскольку оно должно быть уникальным в исходном контексте?

Я нахожу something от Oracle, но не уверен, что это официально?

ответ

0

От Е.Е. платформы спецификации (курсив мой):

Элемент разрешения типа является необязательным если целевая инъекция указано для этого ресурса; в этом случае res-type по умолчанию соответствует типу цели инъекции.

Я считаю, что javax.jms.ConnectionFactory также должен работать на сервере приложений WebSphere, если для другого сервера приложений требуется другое значение.