Главная » Java, JavaBeans » Ограничения при программировании EJB

0

Ниже приведен список программных ограничений, определенных в

спецификации EJB 1.1.

•                 Компонентам EJB не разрешается управлять потоками (threads) или группами потоков. Им не следует создавать новые потоки или активизировать приостановленные, а так же завершать или приостанавливать выполняемые. Кроме того, Компоненты EJB не должны менять приоритеты потоков или их имена.

•                 Компонентам EJB не разрешено использовать static-поля, за исключением полей "только для чтения". Следовательно, все static- поля должны быть объявлены как final.

•                 Компонентам EJB не разрешено использовать средства синхронизации потоков для синхронизации выполнения кода нескольких экземпляров Компонента.

Компоненты не должны использовать средства Java AWT для вывода информации на экран или воспринимать информацию, вводимую с клавиатуры.

Компонентам не следует использовать пакет java. i о для работы с файлами или каталогами файловой системы.

Компонентам EJB следует избегать использования сокетов; особенно им не следует получать информацию из сокетов и отслеживать соединения. Кроме того, им не следует взаимодействовать с фабриками сокетов, используемыми ServerSocker и Socket, или фабриками, используемыми URL.

Компоненты EJB не должны обращаться к классам или пакетам, а также пытаться получить информацию о классах, с использованием способов, не поддерживаемых языком Java, а также пытаться получить доступ к классам, недоступным для Компонента.

Компонент EJB не должен обращаться к функциям и сервисам среды исполнения, взаимодействием с которыми занимается Контейнер EJB – создавать загрузчики классов или получать доступ к их контексту, устанавливать или создавать менеджеров безопасности, останавливать JVM, изменять стандартные потоки ввода-вывода.

Компонент не должен получать информацию о профилях безопасности для конкретных источников кода.

Компоненты EJB не должны загружать native-библиотеки.

Компоненты не должны добавлять классы в пакеты, так как это (в целях обеспечения безопасности) должны делать Контейнеры.

Компоненты EJB не должны использовать subclass и возможности object substitution Java Serialization Protocol.

Следует проявлять осторожность при передаче this в качестве аргументов или при возврате результата. Безопаснее в этом случае использовать результаты вызовов методов

SessionContext.getEJBObject() или EntityContext.getEJBObject().

Компонентам EJB не разрешается получать доступ или изменять объекты конфигурации безопасности. Например, им не разрешено изменять свой java. security .Identity. Любые попытки такого рода должны приводить к возникновению исключения

java.security.SecurityException.

Источник: Руководство программиста Enterprise JavaBeans

По теме:

  • Комментарии