Посмотрите прямо сейчас на Spring Boot и хотите сделать это правильно, используя конфигурацию Java и, в конечном счете, без web.xml
. Итак, сложная часть состоит в том, что для производственной среды требуется классический файл WAR
.Spring Boot по-прежнему требует ссылки на ресурс в web.xml
Следовательно, я указан WAR
упаковка в моем Maven pom.xml
файл и основной класс приложения распространяется SpringBootServletInitializer
.
Работы прекрасно. Теперь сложная часть заключается в том, что в производственной среде Datasource
предоставляется через JNDI
. В классическом Spring приложение, которое вы бы ссылаться на эту зависимость в web.xml
с помощью resource-ref
следующим образом:
<resource-ref>
<res-ref-name>jdbc/DefaultDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
</resource-ref>
Все исследования я сделал, кажется, указывает, что я хотел бы быть в состоянии избавиться от web.xml
и заменить его с соответствующий context.xml
файл (в папке META-INF):
<Resource name="jdbc/DefaultDB"
auth="Container"
type="javax.sql.DataSource"
factory="com.sap.jpaas.service.persistence.core.JNDIDataSourceFactory"/>
К сожалению, это не работает:/
интересная вещь, хотя в том, что веб-приложение равнину servlet3 работает только хорошо так, смотреть [https://github.com/steinermatt/servlet3-sample].
Итак, у меня возникает соблазн поверить, что причина, из-за которой она не работает для приложения Spring Boot, связана с процессом начальной загрузки Spring Boot ... поэтому, действительно ищет любые подсказки, предложения о том, что это может сделать быть!!!
Любая помощь приветствуется!