2012-07-16 2 views
1

Mon problème est que j'ai configuré un oracle-ds.xml dans le dossier de déploiement jboss. Je peux obtenir l'instance de dataSource et la connexion. Et maintenant, je veux obtenir le mot de passe de la configuration de la base de données via jboss api. Que pouvais-je faire en ce moment?

Configuration de base de données:Comment obtenir le mot de passe de la configuration de base de données jboss

<datasources> 
    <xa-datasource> 
    <jndi-name>XPCDataSource</jndi-name> 
    <track-connection-by-tx/> 
    <isSameRM-override-value>false</isSameRM-override-value> 
    <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class> 
    <xa-datasource-property name="URL">jdbc:oracle:thin:@172.17.16.49:1521:ora49</xa-datasource-property> 
    <xa-datasource-property name="User">workbench_0628</xa-datasource-property> 
    <xa-datasource-property name="Password">workbench_0628</xa-datasource-property> 
    <min-pool-size>10</min-pool-size> 
    <max-pool-size>50</max-pool-size> 
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name> 
    <!-- Oracles XA datasource cannot reuse a connection outside a transaction once enlisted in a global transaction and vice-versa --> 
    <no-tx-separate-pools/> 
    <metadata> 
     <type-mapping>Oracle9i</type-mapping> 
    </metadata> 
    </xa-datasource> 
    <mbean code="org.jboss.resource.adapter.jdbc.vendor.OracleXAExceptionFormatter" name="jboss.jca:service=OracleXAExceptionFormatter"> 
    <depends optional-attribute-name="TransactionManagerService">jboss:service=TransactionManager</depends> 
    </mbean> 
</datasources> 
+0

Une chance à ce sujet? – lorraine

Répondre

0

Avez-vous essayé quelque chose comme ça?

Connection conn = myJBossDatasource.getConnection(); 
    WrappedConnection wrappedConn = (WrappedConnection)conn; 
    Connection underlyingConn = wrappedConn.getUnderlyingConnection(); 
    OracleConnection oracleConn = (OracleConnection)underlyingConn; 

J'ai principalement utilisé BEA/Oracle (Weblogic), mais ai fait il y a LONGTEMPS ... Si vous cochez la OracleConnection objet, il a quelques constantes:

CONNECTION_PROPERTY_PASSWORD 
    CONNECTION_PROPERTY_USER_NAME 
+0

J'ai lu l'API OracleConnection, essayé comme ci-dessus et obtenu l'instance OracleConnection correctement. Mais il est impossible d'obtenir le nom d'utilisateur et le mot de passe par les constantes CONNECTION_PROPERTY_PASSWORD et CONNECTION_PROPERTY_USER_NAME, car CONNECTION_PROPERTY_PASSWORD et CONNECTION_PROPERTY_USER_NAME sont inexistants dans le code source de oracle.jdbc.OracleConnection (Version du pilote Oracle JDBC - "10.2.0.5.0", ojdbc14. pot). > De plus, je n'ai pas trouvé le mot de passe dans les propriétés en invoquant oracleConn.getConnectionAttributes() et oracleConn.getProperties(). –

Questions connexes