我想设置v$session.program Oracle属性,以便在会话表中提供信息。我正在使用带有jndi XA 数据源的JPA,该数据源是使用部署在Jboss的deploy文件夹中的oracle-xa-ds.xml创建的,因此我无法访问Connection的构造函数。 我可以在JPA 1中使用unwrap访问Connection对象,在JPA 1中将JPA强制转换为Hibernate类,但是没有属性setter(只有Client Info属性可以继续启动JDBC 4.0)。
所以我的问题是,使用JPA(使用Hibernate)使用Jboss 4.2:
感谢您提出宝贵的意见和解答!
答案 0 :(得分:1)
我很确定必须在某处记录,但这是我们在JBoss wiki中可以找到的内容:
How To Specify "PROGRAM" Oracle Connection Property
JBoss版本:JBoss 4.0.3 SP1,Oracle DB版本:10g
能够区分JDBC Oracle服务器端的连接, 这是由不同的JBoss创建的 实例, Oracle的PROGRAM连接 属性可能设置在 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 view
- 正在检查/评估PROGRAM连接的其他工具 属性
答案 1 :(得分:1)
今天我遇到了同样的问题,经过大量的阅读和阅读文档后,我终于得到了尤里卡时刻:
添加以下参数:
<xa-datasource-property name="connectionProperties">v$session.program=YourUniqueName</xa-datasource-property>
多数人。