2010-03-12 2 views
2

두 개의 다른 DBMS (MS-SQLServer 및 Informix)에 대한 데이터 소스가 login-config.xml에서 보안 도메인 구성을 선택하지 않는 문제로 인해, config.xml 파일.JBoss 5.0.0.GA datasource security-domain 및 login-config.xml

우리의 데이터 소스는 다음과 같습니다 :

<datasources> 
     <local-tx-datasource> 
     <jndi-name>ourTX</jndi-name> 
     <connection-url>jdbc:informix-sqli://our.server.com:1526/wlms:informixserver=ol_db</connection-url> 
     <driver-class>com.informix.jdbc.IfxDriver</driver-class> 
     <security-domain>ourDS</security-domain> 
     <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) --> 
     <metadata> 
      <type-mapping>InformixDB</type-mapping> 
     </metadata> 
     <min-pool-size>5</min-pool-size> 
     <max-pool-size>50</max-pool-size> 
     <prefill>yes</prefill> 
     <prepared-statement-cache-size>10</prepared-statement-cache-size> 
     <idle-timeout-minutes>5</idle-timeout-minutes> 
     <new-connection-sql>set lock mode to wait 4;set isolation to cursor stability;</new-connection-sql> 
     <check-valid-connection-sql>SELECT count(*) FROM dummy;</check-valid-connection-sql> 
     </local-tx-datasource> 
    </datasources> 

그리고 우리의 로그인-config.xml에 다음과 같은 항목이 있습니다 : JBoss 서버가 배포되면

<application-policy name="ourDS"> 
    <authentication> 
     <login-module code="org.jboss.resource.security.SecureIdentityLoginModule" flag="required"> 
     <module-option name="userName">user</module-option> 
     <module-option name="password">-4e5f8b6c4217c342c03b57ed16d31678</module-option> 
     <module-option name="managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=ourTX</module-option> 
     </login-module> 
    </authentication> 
    </application-policy> 

그러나, 우리는 오류와 같은 얻을를 Informix의 경우 :

13:23:13,521 WARN [JBossManagedConnectionPool] Throwable while attempting to get a new connection: null 
org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: Incorrect password or user com.informix.asf.IfxASFRemoteException: [email protected] is not known on the database server.) 

그리고 MS-SQLServer의 경우 Informi와 비슷한 오류가 발생합니다. X 보이는 같은 : 이제

13:25:23,053 WARN [JBossManagedConnectionPool] Throwable while attempting to get a new connection: null 
org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user ''. The user is not associated with a trusted SQL Server connection.) 

, 우리는 * -ds.xml 파일의 보안 도메인 요소를 주석하고 간단한 사용자 이름과 일반 텍스트 암호, 모두 모두 데이터 소스 작업으로 대체하는 경우 데이터베이스 엔진. 우리는 JBoss에서 '모든'서버 구성을 사용하고 있습니다. 시작시 login-config.xml이로드되는지 확인했습니다. security-domain 요소를 사용하는 hqsqldb-ds.xml이 작동합니다. 그러나 login-config.xml에 추가 된 application-policy를 사용하면 새로운 연결을 설정할 때 데이터 소스가 값을 얻지 못하는 것 같습니다.

어떤 아이디어가 잘못 되었습니까? 우리가 뭔가를 놓친 건가?

답변

0

우리는 admin-console을 통해 데이터 소스의 유효성을 테스트하고있었습니다. 데이터베이스를 테스트하는 곳이기 때문에 이것은 JBoss EAP 5.0.0.GA 버전의 버그입니다. 확인되지는 않았지만, 5.0.1.GA 및 5.0.2.GA의 경우 admin-console의 버그 일 수도 있습니다.

위의 모든 작업이 실제로 작동했습니다.

관련 문제