2010-08-02 70 views
3

我想設置v$session.program Oracle屬性以便在會話表中具有可用信息。我正在使用JPA,它使用在Jboss的deploy文件夾中部署的oracle-xa-ds.xml創建的jndi XA datasource,因此我無法訪問Connection的構造函數。 我可以在JPA 1中通過將JPA強制轉換爲Hibernate類來訪問JPA 2中使用解包的Connection對象,但是沒有屬性設置器(只有客戶端信息屬性是繼續啓動JDBC 4.0的方式)。

所以我的問題是,使用JPA使用JBoss 4.2(使用Hibernate):

  • 是否有可能配置在persistence.xml的V $ session.program?
  • 是否可以在oracle-ds.xml中配置v $ session.program?
  • 他們的解決方案是否有其他方法?

謝謝你的寶貴意見和答案!

回答

1

今天我有同樣的問題,很多fiddeling和閱讀文檔後,終於我有激動人心的時刻:

加入以下參數:

<xa-datasource-property name="connectionProperties">v$session.program=YourUniqueName</xa-datasource-property> 

就是這樣。

1

我敢肯定,這一點必須記錄在案的地方,但這裏是我們可以在JBoss維基發現:

How To Specify "PROGRAM" Oracle Connection Property

JBoss的版本:4.0.3 JBoss的SP1,Oracle數據庫版本: 10克

爲了能夠區分在Oracle服務器側的JDBC連接 ,其通過不同的JBoss 實例創建 ,Oracle的程序連接離子 屬性可能的 Oracle專用JDBC數據源配置中使用下列變量設置 文件

<connection-property name="v$session.program">ADistinguishedNameForPROGRAMProperty</connection-property> 

... 
<connection-url>AConnectionURL</connection-url> 
<connection-property name="v$session.program">ADistinguishedNameForPROGRAMProperty</connection-property> 
<driver-class>oracle.jdbc.OracleDriver</driver-class> 
... 

這樣的DBA可以有適當的 粒度在:

  • AWRs
  • v $ session視圖
  • 被檢查的其他工具/評估程序連接 財產
+0

謝謝帕斯卡,感謝您的回答,但不幸的是,連接屬性不適用於XA數據源。對於XA數據源,只有xa-datasource-property標記可用,並且只能配置可用作XADataSource JavaBeans屬性的屬性。我剛剛發現了一個同樣的問題http://community.jboss.org/message/227607#227607 – snowflake 2010-08-03 08:11:17

+1

@snowflake:Erf,沒有注意到你使用XA的事實。將需要挖掘更多......如果你沒有按照鏈接建議的那樣實施補丁:) – 2010-08-03 09:44:28

+0

我希望我有機會在Jboss 5或更高版本上測試它,然後我將有效地考慮實施補丁! – snowflake 2010-08-03 12:43:12