[jboss-user] [Beginners Corner] - set custom properties to xa data source (deploy/con-ds.xml)

kaithwas do-not-reply at jboss.com
Fri Sep 12 11:21:19 EDT 2008


HI,
I am trying to add a ldap property to the jboss configuration file this ldap property will be used for setting load balancing in oracle,
the configuration file is somename-ds.xml and it is used for connecting to oracle database the configuration for xa-datasouce properties. which uses  'oracle.jdbc.xa.client.OracleXADataSource' class to connect to database

the configuration is file extract is 

    <xa-datasource> 
        <jndi-name>jdbc/TCRecsDB</jndi-name> 
        <use-java-context>false</use-java-context>
                                <track-connection-by-tx>true</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 url....</xa-datasource-property> 
        <!-- Use the security domain defined in conf/login-config.xml -->
        <security-domain>EncryptDBPassword2</security-domain>
        <xa-datasource-property name="oracle.net.ldap_loadbalance">OFF</xa-datasource-property>
        <exception-sorter-class-name>
            org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter 
        </exception-sorter-class-name>
        <no-tx-separate-pools/> 
        <max-pool-size>100</max-pool-size>
    </xa-datasource> 


the problem is when i start jboss it throws error NoSuchMethodException

11:25:48,217 WARN  [JBossManagedConnectionPool] Throwable while attempting to get a new connection: null
org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (org.jboss.resource.JBossResourceException: Could not find accessor on XADataSource: ; - nested throwable: (java.lang.NoSuchMethodException: oracle.jdbc.xa.client.OracleXADataSource.setoracle.net.ldap_loadbalance(java.lang.String)))
	at org.jboss.resource.adapter.jdbc.xa.XAManagedConnectionFactory.createManagedConnection(XAManagedConnectionFactory.java:162)
	at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:539)
	at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:228)
	at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:417)
	at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:324)
	at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:301)
	at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:379)
	at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:812)
	at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:88)
	at com.smartstream.control.common.configuration.dao.EngineHibernateUtil.getProductNameFrom(EngineHibernateUtil.java:127)
	at com.smartstream.control.common.configuration.dao.EngineHibernateUtil.getSqlDialect(EngineHibernateUtil.java:85)
	at com.smartstream.control.common.configuration.dao.EngineHibernateUtil.createHibernateConfigPropertiesEngine(EngineHibernateUtil.java:46)
	at com.smartstream.control.common.configuration.dao.EngineHibernateUtil.(EngineHibernateUtil.java:36)
	at com.smartstream.control.common.configuration.dao.HibernateUtil.createEngineInstance(HibernateUtil.java:72)
	at com.smartstream.control.engine.EngineStartupManager.initialise(EngineStartupManager.java:65)
	at com.smartstream.control.engine.EngineStartupManager.(EngineStartupManager.java:44)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:75)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:579)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:322)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:276)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:312)
	at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:80)
	at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:65)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:75)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:579)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:322)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)



but I tried it on different maching have the same jboss configuration it worked there but it is not working on this server....

if it load the ldap_loadbalancing property properly I should get the server.log like this...

 <config-property name='XADataSourceProperties' type='java.lang.String'>URL=jdbc:url.... 
User=tcm 
Password=tcm 
oracle.net.ldap_loadbalance=OFF 
</config-property> 



can some one tell me how to set a custom properties for this 
the senario is that while connecting to database the connection properties should be set like this.

java.util.Properties props = new java.util.Properties();

props.put("password", userPassword);

props.put("user", userName);

props.put("oracle.net.ldap_loadbalance","OFF") ;


 

connExternal = DriverManager.getConnection(url, props); 


can some one tell me how to achive this in jboss with xa datasource driver

Thanks
Ravi....

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4176171#4176171

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4176171



More information about the jboss-user mailing list