Java Platform, Enterprise Edition (Java EE) 8
Учебник по Java EE

Назад Вперёд Содержание

Аннотации

Архитектура коннекторов Java EE предоставляет набор аннотаций, чтобы минимизировать потребность в дескрипторах развёртывания.

  • Разработчик адаптера ресурсов может использовать аннотацию @Connector, чтобы указать, что компонент JavaBeans является адаптером ресурсов. Эта аннотация используется для предоставления метаданных о возможностях адаптера ресурсов. При желании вы можете предоставить компонент JavaBeans, реализующий интерфейс ResourceAdapter, как в следующем примере:

    @Connector(
        displayName = "TrafficResourceAdapter",
        vendorName = "Java EE Tutorial",
        version = "7.0"
    )
    public class TrafficResourceAdapter implements ResourceAdapter,
                                                   Serializable {
        ...
    }
  • Аннотация @ConnectionDefinition определяет набор интерфейсов и классов соединений, относящихся к конкретному типу соединения, как в следующем примере:

    @ConnectionDefinition(
        connectionFactory = ConnectionFactory.class,
        connectionFactoryImpl = TradeConnectionFactory.class,
        connection = Connection.class,
        connectionImpl = TradeConnection.class
    )
    public class TradeManagedConnectionFactory ... {
        ...
    }
  • Аннотация @AdministeredObject обозначает компонент JavaBeans как управляемый объект.

  • Аннотация @Activation содержит информацию о конфигурации, относящуюся к входящим подключениям из EIS, как в следующем примере:

    @Activation(
            messageListeners = { TrafficListener.class }
    )
    public class TrafficActivationSpec implements ActivationSpec,
                                                  Serializable {
        ...
        @ConfigProperty()
        /* порт для прослушивания запросов от EIS */
        private String port;
        ...
    }
  • Аннотация @ConfigProperty может использоваться в компонентах JavaBeans для предоставления дополнительной информации о конфигурации, которая может использоваться поставщиком развёртывания и адаптером ресурсов. Код предыдущего примера показывает несколько аннотаций @ConfigProperty.

  • Аннотация @ConnectionFactoryDefinition является аннотацией определения ресурса, которая используется для определения фабрики соединений коннектора и регистрации её в JNDI под именем, указанным в обязательном элементе name аннотации. Обязательный элемент interfaceName аннотации указывает полное имя класса интерфейса фабрики соединений. Элемент аннотации @TransactionsSupport указывает уровень поддержки транзакций, который должна поддерживать фабрика соединений. Элементы minPoolSize и maxPoolSize аннотации определяют минимальное или максимальное количество соединений, которые должны быть выделены для пула соединений, поддерживающего этот ресурс фабрики соединений. Дополнительные свойства, связанные с определяемой фабрикой соединений, можно указать с помощью элемента properties.

    Поскольку повторы аннотаций недопустимы, аннотация @ConnectionFactoryDefinitions действует как контейнер для определений фабрики соединений с несколькими коннекторами. Элемент аннотации value содержит определения фабрики соединений с несколькими коннекторами.

  • Аннотация @AdministeredObjectDefinition является аннотацией определения ресурса, которая используется для определения администрируемого объекта и регистрации его в JNDI под именем, указанным в обязательном элементе name аннотации. Обязательное полное имя класса администрируемого объекта должно указываться элементом className. Дополнительные свойства, которые необходимо настроить в администрируемом объекте, можно указать с помощью элемента properties.

    Поскольку повторы аннотаций недопустимы, аннотация @AdministeredObjectDefinitions действует как контейнер для нескольких определений администрируемых объектов. Элемент аннотации value содержит несколько определений администрируемых объектов.

Спецификация позволяет разрабатывать адаптер ресурсов в смешанном режиме, то есть разработчик имеет возможность использовать для адаптера ресурса как аннотации, так и дескрипторы развёртывания в приложениях. Установщик приложения может использовать дескриптор развёртывания для переопределения аннотаций, указанных разработчиком адаптера ресурса.

Дескриптор развёртывания для адаптера ресурса, если он есть, называется ra.xml. Атрибут metadata-complete определяет, завершён ли дескриптор развёртывания для модуля адаптера ресурсов и нужно ли проверять файлы классов, доступные для модуля и упакованные с адаптером ресурсов, на наличие аннотаций, в которых указана информация о развёртывании.

Полный список аннотаций и компонентов JavaBeans, представленных в платформе Java EE, см. в спецификации Java EE Connector Architecture 1.7.


Назад Вперёд Содержание
Логотип Oracle  Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены. Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)