用于身份验证的xaDataSource?

时间:2015-01-13 10:42:51

标签: java spring security

我使用Spring Security提供用户身份验证的功能,基本上我使用XA-datasource执行数据操作。从性能的角度来看,使用数据源来执行用户身份验证是否合适?在用户身份验证中不会有分布式事务。

那么在性能观点中定义另一个non-XA-datasource来执行此类操作会更好吗?现在,我的安全配置看起来像

<!-- The datasource is defined in a separate config file -->
<bean id="xaDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="java:jboss/datasources/xaCoreDS">
</bean>

<authentication-manager>
  <authentication-provider>
    <jdbc-user-service data-source-ref="xaDataSource"
      users-by-username-query=
        "select username,password, enabled from users where username=?"
      authorities-by-username-query=
        "select username, role from user_roles where username =?  " />
  </authentication-provider>
</authentication-manager>

1 个答案:

答案 0 :(得分:0)

我认为XAdatasource在事务模式下的性能较差。但是身份验证管理器仅使用select请求,可能使用非事务性调用。因此,不会使用事务处理和两阶段提交。对我来说,没有必要定义non-XA-datasource