[jboss-user] [JCA/JBoss] - database failover for ejb application (persistance.xml probl

grdzeli_kaci do-not-reply at jboss.com
Fri Sep 7 01:23:21 EDT 2007


hi all,
i tried to use database failover by ha-xa-datasource.
my database configuration file looks like :
1.oracle-ha-xa-ds.xml

  | <datasources>
  |   <ha-xa-datasource>
  |           <jndi-name>XAOracleDS</jndi-name>
  |           <track-connection-by-tx/>
  |           <isSameRM-override-value>false</isSameRM-override-value>
  |           <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
  |           <!-- list of connection URLs -->
  |           <xa-datasource-property name="URL">jdbc:oracle:thin:@192.168.9.135:1521:DEVSTR|jdbc:oracle:thin:@192.9.200.222:1521:DEVSTR</xa-da
  |           <xa-datasource-property name="User">USER_MANAGER</xa-datasource-property>
  |           <xa-datasource-property name="Password">USER_MANAGER</xa-datasource-property>
  |           <url-property>URL</url-property>
  |           <url-delimeter>|</url-delimeter>
  |           <valid-connection-checker-class-name>tempPackage.OracleValidConnectionChecker</valid-connection-checker-class-name>
  |           <exception-sorter-class-name>tempPackage.OracleExceptionSorter</exception-sorter-class-name>
  |   </ha-xa-datasource>
  | </datasources>
  | 

bu ti can't use this configuration into my ejb application,
is there any doc or example how to config my persistance.xml in this case ????
my persistance.xml looks like :
2.persistance.xml

  | <?xml version="1.0" encoding="ISO-8859-1" ?>
  | <persistence xmlns="http://java.sun.com/xml/ns/persistence"
  | 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  | 	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
  | 	version="1.0">
  | 	<persistence-unit name="Test">		
  | 		<provider>org.hibernate.ejb.HibernatePersistence</provider>
  | 		<non-jta-data-source>java:/XAOracleDS</non-jta-data-source>				
  | 		<properties>
  | 			<property name="hibernate.hbm2ddl.auto" value="validate"/>
  |             <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/>
  |             <property name="hibernate.default_schema" value="USER_MANAGER"/>
  | 		</properties>
  | 	</persistence-unit>	
  | </persistence>
  | 
i tried to use jta-data-source instead of non-jta-data-source but i got the errors :
1.non-jta-datasource:


  | java.lang.RuntimeException: You have not defined a jta-data-source for a JTA enabled persistence context named: Test
  |         at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:220)
  |         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |         at java.lang.reflect.Method.invoke(Method.java:597)
  |         at org.jboss.ejb3.ServiceDelegateWrapper.startService(ServiceDelegateWrapper.java:103)
  |         at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
  |         at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
  |         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
  |         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 
2. jta-datasource:

  | 09:20:28,571 WARN  [JBossManagedConnectionPool] Throwable while attempting to get a new connection: null
  | org.jboss.resource.JBossResourceException: Missing configuration for HA XA datasource. No url-delimiter.
  |         at org.jboss.resource.adapter.jdbc.xa.HAXAManagedConnectionFactory.createManagedConnection(HAXAManagedConnectionFactory.java:97)
  |         at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:577)
  |         at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:262)
  | 
  | 


i fount documentations how to write database failover configuration file but i can't find anything about persistance.xml :( how i can use it into my ejb application ?

any idea will be appreciated.


Thanks In Advance.
_________________
Paata,




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

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



More information about the jboss-user mailing list