【问题标题】:How to get password from jboss database configuration如何从 jboss 数据库配置中获取密码
【发布时间】:2012-07-16 03:32:09
【问题描述】:

我的问题是我在 jboss 部署文件夹中配置了一个 oracle-ds.xml。我可以得到dataSource和connection的实例。现在,我想通过 jboss api 从数据库配置中获取密码。我现在能做什么?

数据库配置:

<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>

【问题讨论】:

  • 运气好吗?

标签: java database configuration jboss


【解决方案1】:

你尝试过这样的事情吗?

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

我主要使用 BEA/Oracle (Weblogic),但很久以前就这样做了...如果您查看 OracleConnection 对象,它有一些常量:

   CONNECTION_PROPERTY_PASSWORD
   CONNECTION_PROPERTY_USER_NAME

【讨论】:

  • 我已经阅读了 OracleConnection API,如上尝试并正确获取了 OracleConnection 实例。但是无法通过CONNECTION_PROPERTY_PASSWORD和CONNECTION_PROPERTY_USER_NAME的常量获取用户名和密码,因为oracle.jdbc.OracleConnection(Oracle JDBC Driver version - "10.2.0.5.0", ojdbc14.jar的源代码中不存在CONNECTION_PROPERTY_PASSWORD和CONNECTION_PROPERTY_USER_NAME) )。 >另外,我无法通过调用 oracleConn.getConnectionAttributes() 和 oracleConn.getProperties() 在属性中找到密码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-01
相关资源
最近更新 更多