2014-12-11 7 views
0

Я пишу модуль управления JTA транзакций для приложения Spring по Atomikos, все считается правильно настроить:не записываемый свойство «URL» в классе «oracle.jdbc.xa.client.OracleXADataSource»

<bean id="dataSource_JDBC_01" class="com.atomikos.jdbc.AtomikosDataSourceBean" init-method="init" destroy-method="close"> 
    <property name="uniqueResourceName"><value>dataSource01</value></property> 
    <property name="xaDataSourceClassName"><value>${database_01.xadriver}</value></property> 
    <property name="xaProperties"> 
     <props> 
     <prop key="databaseName">${database_01.username}</prop> 
     <prop key="user">${database_01.username}</prop> 
     <prop key="password">${database_01.password}</prop> 
     <prop key="url">${database_01.url}</prop> 
     </props> 
    </property> 
    <property name="poolSize"><value>1</value></property> 
</bean> 

<jee:jndi-lookup id="dataSource_01" jndi-name="jdbc/DataSource01" default-ref="dataSource_JDBC_01" /> 

Значения в этих заполнителей указаны здесь:

database_01.xadriver=oracle.jdbc.xa.client.OracleXADataSource 
database_01.url=jdbc\:oracle\:thin\:@localhost\:1521\:orcl 
database_01.username=USER_01 
database_01.password=PASS_01 

Atomikos Но бросить исключение:

no writeable property 'url' in class 'oracle.jdbc.xa.client.OracleXADataSource' 
2014-12-11 12:00:23,098 -- WARN -- com.atomikos.jdbc.AtomikosSQLException -- Cannot initialize AtomikosDataSourceBean 
com.atomikos.beans.PropertyException: no writeable property 'url' in class 
'oracle.jdbc.xa.client.OracleXADataSource' 
at com.atomikos.beans.PropertyUtils.getSetter(PropertyUtils.java:286) 
at com.atomikos.beans.PropertyUtils.setDirectProperty(PropertyUtils.java:200) 
at com.atomikos.beans.PropertyUtils.setProperty(PropertyUtils.java:110) 
at com.atomikos.beans.PropertyUtils.setProperties(PropertyUtils.java:186) 

Далее следуют:

javax.naming.NamingException: Another resource already exists with name dataSource01 - pick a different name 

Я действительно не могу сказать, что здесь не так.

ответ

0

Оказывается, это просто вопрос использования названия недвижимости URL. Из Oracle API document класса OracleXADataSource имеет метод установки как setURL(), так что имя боб должен использовать

<prop key="URL">${database_01.url}</prop> 

вместо

<prop key="url">${database_01.url}</prop> 

Приветствия ..

 Смежные вопросы

  • Нет связанных вопросов^_^