Справочный и поисковый ресурс JNDI без web.xml - PullRequest
2 голосов
/ 23 мая 2019

У моего приложения есть внешняя зависимость, в которой определяется класс ресурсов - например, com.sample.SomeResource.Сервер приложений, на котором выполняется мое приложение, предоставляет ресурсы среды, которые я могу использовать в своем приложении.Одним из них является экземпляр com.sample.SomeResource.Если в моем приложении есть веб-дескриптор - web.xml, я могу использовать тег <resource-ref> для ссылки на него:

<resource-ref>
        <res-ref-name>SomeResource</res-ref-name>
        <res-type>com.sample.SomeResource</res-type>
    </resource-ref>

, а затем я могу его найти.

 try {
      InitialContext initialContext = new InitialContext();
      SomeResource someResource= (SomeResource) ctx.lookup("java:comp/env/SomeResource");
    } catch (NamingException e) {
      ...
    }

Однако яхочу избавиться от web.xml.Есть ли способ определить его программно (динамически)?

1 Ответ

1 голос
/ 03 июня 2019

вы можете использовать аннотацию javax.annotation.Resource для поля.

@Resource(lookup = "java:comp/env/SomeResource")
 private SomeResource someResource;
...