После некоторых экспериментов я понял, что могу заставить Jetty использовать тот же путь JNDI, что и Tomcat. Следующий фрагмент из моего jetty-env.xml
файла:
<New id="myDataSource" class="org.mortbay.jetty.plus.naming.Resource">
<!-- We MUST specify the entire JNDI path here to force compliance with the Tomcat/J2EE convention -->
<Arg>java:comp/env/jdbc/myDataSource</Arg>
<Arg>
<New class="com.atomikos.jdbc.nonxa.AtomikosNonXADataSourceBean">
<Set name="uniqueResourceName">sbeDatabase</Set>
...............
</New>
</Arg>
</New>
Не уверен, что это идеально, но это работает.
Обновление
Это работает, если вы поместите свой файл jetty-env.xml в WAR ... но по какой-то причине, если вы переместите эту конфигурацию за пределы WAR и в файл фрагмента контекста в каталоге "contextx" Jetty, он выдаст исключение:
Проверьте это: http://jira.codehaus.org/browse/JETTY-273