Я более свежую к EJB, работая над приложением поддержки, использующим EJB2.0. Я просто просматриваю код приложения и пытаюсь понять его. Он имеет ejb-jar.xml с некоторыми сессионными компонентами, как показано ниже.Приложение против проверки подлинности контейнера в EJB
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans
2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>StatelessBean</ejb-name>
<home>com.example.interfaces.StatelessBeanHome</home>
<remote>com.example.interfaces.StatelessBean</remote>
<local-home>com.example.interfaces.StatelessBeanLocalHome</local-home>
<local>com.example.interfaces.StatelessBeanLocal</local>
<ejb-class>com.example.interfaces.StatelessBeanSession</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<security-identity>
<use-caller-identity>
</security-identity>
<resource-ref>
<res-ref-name>eis/SAPFactory</res-ref-name>
<res-type>javax.resource.cci.ConnectionFactory</res-type>
<res-auth>Application</res-auth>
<re-sharing-scope>Shareable</re-sharing-scope>
</resource-ref>
</session>
</enterprise-beans>
</ejb-jar>
Я вижу, что аутентификация ресурсов может быть либо Применение или Контейнер на основе, в приведенном фрагменте это Применение, в некоторых других приложениях, которые я видел, что упоминается, как Контейнер, в чем же разница между ними? Когда использовать над другим. Кроме того, тип транзакции также указан как Контейнер, пожалуйста, бросьте также немного света на это.
Для аутентификации в контейнерах мы не можем предоставить имя пользователя и пароль, записанные в кодировке, как getConnection (пользователь, пароль)? – srk
Вы могли бы, но избегая этого, все это означает аутентификацию, управляемую контейнером. –